Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建“;channel.html”;Facebook SDK的文件_Facebook_Channel - Fatal编程技术网

如何创建“;channel.html”;Facebook SDK的文件

如何创建“;channel.html”;Facebook SDK的文件,facebook,channel,Facebook,Channel,Facebook在其文档中建议为其JavaScript SDK使用通道文件。我的问题涉及如何创建此文件的一个小细节。很明显,我必须用 但是Facebook建议尽可能长时间地缓存这个文件,并提供了一个PHP脚本来实现这一点。我的问题是:我应该把这个脚本放在哪里?在同一个channel.html文件中,我将把它放在我的网站安装的根目录中(一个自我托管的Wordpress博客) 谢谢 p.频道文件应该只有您已经提到的代码 <script src="//connect.facebook.net/e

Facebook在其文档中建议为其JavaScript SDK使用通道文件。我的问题涉及如何创建此文件的一个小细节。很明显,我必须用

但是Facebook建议尽可能长时间地缓存这个文件,并提供了一个PHP脚本来实现这一点。我的问题是:我应该把这个脚本放在哪里?在同一个
channel.html
文件中,我将把它放在我的网站安装的根目录中(一个自我托管的Wordpress博客)

谢谢


p.

频道文件应该只有您已经提到的代码

<script src="//connect.facebook.net/en_US/all.js"></script>


您可以将缓存代码放在任何位置,并且很可能将其放在索引文件中。

您可以创建
channel.php
而不是
channel.html
,并将以下代码放在其中


我只想强调我认为在本次问答中被忽视的几点:

(1) 在我看来,我认为Facebook推荐的“channel.html”代码片段需要是一个单独的文件——不能像harry推荐的那样(我假设他指的是主页或网站的其他通用内容页)将代码片段放入索引文件中

如果查看
SCRIPT
元素的
src
属性指向的URL,它与JS-SDK代码中异步调用的脚本完全相同:

connect.facebook.net/en_US/all.js

因此,将另一个指向此文件的
脚本
元素放入索引页(或任何其他页面)只会产生完全浪费和冗余的HTTP请求。有一个单独的文件,即“channel.html”,这是Facebook解决跨域脚本(XSS)问题的一种方式。这一概念的解释比我在Stack Overflow文章“中的解释更为详细,理解也更好。”

(2.)值得注意的是,如果您决定在“channel.html”文件中使用PHP代码段,您有两个选项,但Facebook文档中并未明确说明:

(a) 您可以使用PHP扩展名保存文件,例如“channel.PHP”,并在JavaScript中更新变量,如下所示:
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.php'

(b) 您可以保留文件名“channel.html”,并将服务器配置为允许将“.html”文件作为PHP处理


我还假设该文件可以调用任何东西,并存储在web服务器上的任何位置,只要它的URL在
channelURL
值中提供。

谢谢。这就是我想要的。我已经把它放在我Wordpress博客的
部分。它起作用了。