この特定の Q&A で見落とされていると思われるいくつかの点を強調したいと思います。
(1) 私の意見では、Facebook が推奨する「channel.html」コード スニペットは別のファイルにする必要があると思います。彼はホームページ、またはウェブサイトの他の一般的なコンテンツページを意味していると思います)。
SCRIPT
要素の属性が指している URL を見るとsrc
、JS-SDK コードで非同期に呼び出されるのとまったく同じスクリプトです。
connect.facebook.net/en_US/all.js
したがって、SCRIPT
このファイルを指す別の要素をインデックス ページ (または他のページ) に配置することは、完全に無駄で冗長な HTTP 要求を作成することになります。個々のファイル、つまり「channel.html」が存在することの要点は、Facebook がクロスドメイン スクリプティング (XSS) の問題を回避する方法です。この概念は、Stack Overflow の記事「Why do we need to create a channel.html on our server to use Facebook JS SDK?」よりもはるかに詳細に説明されており、よりよく理解できます。
(2.) 「channel.html」ファイル内で PHP スニペットを使用することにした場合、Facebook のドキュメントでは明確にされていない 2 つのオプションがあることに注意してください。
(a) 「channel.php」などの PHP 拡張子を付けてファイルを保存し、次のように JavaScript で変数を更新できます。
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.php'
(b) ファイル名「channel.html」を保持し、「.html」ファイルを PHP として処理できるようにサーバーを構成できます。
また、ファイルの URL が値に指定されている限り、ファイルは任意の名前で、Web サーバーのどこにでも保存できると想定していますchannelURL
。