Facebook Javascript api未加载

Facebook Javascript api未加载,javascript,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Facebook,Facebook Graph Api,Facebook Javascript Sdk,这是我的密码: <!DOCTYPE html> <html xmlns:fb="https://www.facebook.com/2008/fbml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>New JavaScript SDK & OAuth 2.0 based FBConnect T

这是我的密码:

<!DOCTYPE html>
<html xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>New JavaScript SDK & OAuth 2.0 based FBConnect Tutorial |     
Thinkdiff.net</title>
</head>

<body>

<div id="fb-root"></div>

<script>

  window.fbAsyncInit = function() {
  FB.init({
  appId      : '154062364721089', // App ID
  channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  xfbml      : true,  // parse XFBML
  oauth: true
  });

  // Additional initialization code here

   alert('Api loaded');

   FB.login(function(response)
   {
    console.log(response);
   });

   };

  // Load the SDK Asynchronously
 (function(d){
 var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement('script'); js.id = id; js.async = true;
 js.src = "connect.facebook.net/en_US/all.js";
 ref.parentNode.insertBefore(js, ref);
 }(document));

</script>

test

</body>
</html>

新的JavaScript SDK和基于OAuth 2.0的FBConnect教程|
Thinkdiff.net
window.fbAsyninit=函数(){
FB.init({
appId:'154062364721089',//应用ID
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//频道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true,//解析xfbml
真的吗
});
//这里有额外的初始化代码
警报(“Api加载”);
FB.登录(功能(响应)
{
控制台日志(响应);
});
};
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);
测试

但当我在浏览器中打开此文件时,Facebook api不会加载。我只看到屏幕上印着“测试”。我认为浏览器应该联系facebook来加载api——我认为这将被称为浏览器底部的连接消息,这是不会发生的。

听起来你希望facebook自动提示用户连接/允许/登录应用程序。为此,您需要在fb api初始化之后添加以下内容(代码位于
//此处的其他初始化代码之后

编辑:另外,尝试删除
引用并使用facebook文档中的异步代码-


听起来你希望Facebook自动提示用户连接/允许/登录应用程序。为此,您需要在fb api初始化之后添加以下内容(代码位于
//此处的其他初始化代码之后

编辑:另外,尝试删除
引用并使用facebook文档中的异步代码-


JavaScript中的解析错误应该是首先要解决的问题。您的代码在FB.init()调用(xfbml和oauth)中的最后两个字典元素之间缺少逗号


编辑在IE和Chrome中,您拥有的代码对我来说很好,除非您在本地计算机上运行它(即双击光盘上的HTML文件),因为加载API时URL中的“/”

JavaScript中的解析错误应该是首先要解决的问题。您的代码在FB.init()调用(xfbml和oauth)中的最后两个字典元素之间缺少逗号


编辑您拥有的代码在IE和Chrome中对我来说很好,除非您在本地计算机上运行它(即双击光盘上的HTML文件),因为加载API时URL中有“/”

不确定这是否完全相关,找到此线程,因为我在以下行后得到“js未定义”:
js=d.createElement('script');js.id=id;js.async=true

原来解决方案是这样一行:
if(d.getElementById(id)){return;}
需要一个尾随
之后,不在行括号内:

if (d.getElementById(id)) {return;};

工作,鉴于:

if (d.getElementById(id)) {return;}

抛出错误。

不确定这是否完全相关,找到此线程,因为我在以下行后得到了“js未定义”:
js=d.createElement('script');js.id=id;js.async=true

原来解决方案是这样一行:
if(d.getElementById(id)){return;}
需要一个尾随
之后,不在行括号内:

if (d.getElementById(id)) {return;};

工作,鉴于:

if (d.getElementById(id)) {return;}


抛出错误..

您是否尝试使用“connect.facebook.net/en_US/all.js”而不是“//connect.facebook.net/en_US/all.js”。如果删除“//”:-(删除顶部的脚本标记,您无法将异步和同步加载结合起来:)我认为在使用src属性时需要关闭脚本标记。当你想写javascript时,打开一个新的脚本标记。@Jack:这就是你的意思吗?我已经编辑了最新的代码。你是否尝试过使用“connect.facebook.net/en_US/all.js”而不是“//connect.facebook.net/en_US/all.js”。如果我删除“/”:-(去掉顶部的脚本标记,你不能将异步和同步加载结合起来。)我认为在使用src属性时需要关闭脚本标记。当你想写javascript时,打开一个新的脚本标记。@Jack:这就是你的意思吗?我已编辑了最新的代码。正在尝试您建议的更改。在哪里删除脚本标记John?我编辑了上面的最新代码。@AbhishekShivkumar看起来你已经正确地删除了它:)(看到了你的帖子编辑)但是我还没有得到警告框。。。想知道这里有什么问题@AbhishekShivkumar你应该接受正确的答案,或者对有用的评论投赞成票:现在尝试你建议的更改。我在哪里删除脚本标签John?我编辑了上面的最新代码。@AbhishekShivkumar看起来你已经正确地删除了它:)(看到了你的帖子编辑)但是我还没有得到警告框。。。想知道这里有什么问题@阿披舍克希夫库马尔:你应该接受正确的答案,或者对有帮助的评论投赞成票:pSo我真傻。我从未启动过Tomcat服务器,而是双击该文件进行检查!:(愚蠢的我-谢谢大家!我在回答中确实提到了这一点,作为一个可能的原因:pSo愚蠢的我。我从未启动过Tomcat服务器,并继续双击文件进行检查!:(愚蠢的我-谢谢大家!我在回答中提到了这一点,作为一个可能的原因:p
if (d.getElementById(id)) {return;}