“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 的页面(除非这与安全有关)。