1

“channelUrl 必须是与包含 SDK 的页面匹配的完全限定 URL。”

来自Facebook Developers Javascript SDK 文档

好的,所以我添加了我的代码,如下所示:

   window.fbAsyncInit = function() {
       FB.init({
          appId: '*****', 
          channelUrl: '//www.somehost.com/channel.php', // Channel File
          status: true, 
          cookie: true, 
          xfbml: true 
       });

       // Additional Init code here.
   };

将加载 FB JS SDK 的站点部分不在索引页或我的频道文件所在站点的根目录上。

那么我应该把我的频道文件放进去//www.somehost.com/channel.php吗?

或者我应该把它放在其他地方,比如//www.somehost.com/directory/folder/要加载 SDK 的页面所在的位置?

对我来说,这听起来像是后者,但我并不完全确定这一点,因为我见过的大多数示例都将它放在根目录中。

将频道文件放在根目录中是否使其适用于所有子目录,其中包含将在域内加载 SDK 的页面?

对我来说,为每个子目录添加一个通道文件似乎有点多余,每个子目录中都有一个可以访问 sdk 的页面(除非这与安全有关)。

4

1 回答 1

2

所有文档都提到它是根目录,所以我认为它在那里很好。如果它未能解决需要它的三个问题之一,你就会知道它是否不起作用。

唯一的要求是域(不是完整的 url)和协议必须匹配。

于 2012-04-10T17:35:12.643 回答