我正在尝试从Facebook JS SDK的文档中运行第一个示例。我创建了一个新的应用程序,创建了一个名为“facebookTest.html”的空白文档,粘贴在示例的代码中,并插入新应用程序的App ID。代码如下:
<html>
<head>
<title>Login with facebook</title>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'my app ID', // App ID from the App Dashboard
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might
// contain some type checks that are overly strict.
// Please report such bugs using the bugs tool.
(function(d, debug){
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 = document.location.protocol+"//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
</script>
当我加载页面时,在Javascript控制台上我收到以下错误消息:
Failed to load resource
我做错了什么?
编辑:当我在document.location.protocol
之前添加"//connect.facebook.net/..."
时,按照建议here,屏幕保持空白,控制台显示以下内容:
GET file://connect.facebook.net/en_US/all.js
所有这些代码都应该这样做吗?还是它还在失败?
答案 0 :(得分:40)
这里有一些错误:
需要将js.src
分配更改为:
js.src="https://connect.facebook.net/en_US/all.js";
Facebook不再支持从本地文件发出的JS SDK调用,该脚本必须在http://
或https://
URI的文件上运行,符合this bug report on Facebook 。我需要将文件上传到Web服务器,相应地更改画布URL,然后重新测试。
答案 1 :(得分:14)
只需停用adblock, 它对我有用
答案 2 :(得分:6)
首先,您需要将http或https附加到js.src url
其次,你需要在服务器上托管你的html文件。
答案 3 :(得分:0)
转到Facebook开发者并添加您的网站域名并获取ID并粘贴到下面:
appId : 'my app ID', // App ID from the App Dashboard
答案 4 :(得分:0)
如果您的URL包含诸如“ advert”,“ ad”,“ doubleclick”,“ click”或类似内容之类的字词……
例如:
GET googleads.g.doubleclick.net/pagead/id
static.doubleclick.net/instream/ad_status.js
...然后,广告拦截器将对其进行拦截。
Ref:Getting "net::ERR_BLOCKED_BY_CLIENT" error on some AJAX calls
答案 5 :(得分:0)
添加另一件我在这里没有看到的东西:如果您正在Firefox中进行调试,请在开发时禁用增强跟踪保护和Facebook容器。