34

我正在尝试运行 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/..."

GET file://connect.facebook.net/en_US/all.js  

这就是所有这些代码应该做的吗?还是仍然失败?

4

6 回答 6

56

只是禁用adblock,它对我有用

于 2018-02-23T18:22:04.423 回答
40

这里有几件事不对:

  1. 需要将js.src分配更改为: js.src="https://connect.facebook.net/en_US/all.js";

  2. Facebook 不再支持从本地文件进行的 JS SDK 调用,根据 Facebook 上的这个错误报告http://,该脚本必须在具有或https://URI的文件上运行。我需要将文件上传到 Web 服务器,相应地更改画布 URL,然后重新测试。

于 2013-04-01T17:06:58.033 回答
6

首先,您需要将 http 或 https 附加到 js.src url

其次,您需要在服务器上托管您的 html 文件。

于 2014-05-02T05:27:02.307 回答
4

如果您的网址包含“广告”、“广告”、“双击”、“点击”或类似的字词……</p>

例如:

  • GET googleads.g.doubleclick.net/pagead/id
  • static.doubleclick.net/instream/ad_status.js

…然后广告拦截器将阻止它。

参考:在某些 AJAX 调用中出现“net::ERR_BLOCKED_BY_CLIENT”错误

于 2019-08-22T09:16:10.450 回答
0

转到 Facebook 开发人员并添加您的网站域并获取 id 并粘贴如下:

 appId : 'my app ID', // App ID from the App Dashboard
于 2017-09-05T10:25:04.227 回答
0

添加我在这里没有看到的另一件事:如果您在 Firefox 中进行调试,请在开发时禁用增强跟踪保护和 Facebook 容器。

于 2020-01-05T20:00:24.233 回答