雖然試圖使用Facebook的頁面插件創建一個小的portlet來顯示公司頁面的更新,但我遇到了各種錯誤。其中最大的是插件顯示屏,根本沒有顯示出來。使用Facebook頁面插件
這裏是我的代碼(直接複製並從Facebook粘貼,除了HTML標籤):
<html>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-page" data-href="https://www.facebook.com/facebook"
data-small-header="false" data-adapt-container-width="true"
data-hide-cover="false" data-show-facepile="true"
data-show-posts="true"><div class="fb-xfbml-parse-ignore">
<blockquote cite="https://www.facebook.com/facebook">
<a href="https://www.facebook.com/facebook">Facebook</a>
</blockquote></div></div>
</body>
</html>
錯誤控制檯拋出:獲取文件://connect.facebook.net/en_US/sdk.js網:: ERR_FILE_NOT_FOUND
解決方案:將路徑前面的「https://」添加到sdk。在下面的行產生變化:
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
然而,這會導致無法再拋出的錯誤,但該插件顯示(實際控件)是仍未顯示。或者說,沒有任何東西正在展示。
我試着:
- 卸下 '#XFBML = 1個&版本V2.5 =' 在路徑
- 改變與ID的div的位置「FB-根的端部「
- 更改腳本的位置(之前和之後的各種元素)
- 使用多個瀏覽器
- 使用所有可能的解決方案,從this問題
我很難相信來自Facebook開發者網站的示例代碼本身不起作用,並且想要解釋我做錯了什麼。
首先,你需要使用的代碼,通過HTTP(S)查看的網站上,否則參考形式SDK'// connect.facebook.net /'贏得」工作。您是通過瀏覽器在本地瀏覽您的頁面嗎?是通過文件系統打開嗎?在這種情況下,SDK可能無法工作(即使您解決了地址問題) - 嘗試將頁面上傳到(本地)Web服務器並通過HTTP(S)訪問時。 – CBroe
@CBroe謝謝你的輸入,我試着將文件上傳到網絡服務器,並查看它的方式和令人驚訝的是,它的工作。但是,可以請你向我解釋爲什麼發生這種情況,爲什麼從本地文件系統打開文件時的SDK無法訪問(即使有:在鏈接前面的「https」)。再次感謝。 – Bimde
SDK可以被「訪問」,但它可能無法正確檢查其他內容 - 比如哪個用戶當前在瀏覽器中登錄Facebook。 (如果你的FB頁面,要顯示,尚未公佈的插件,或限制存取在一些其他的方式,其用戶的事項記錄下來。) – CBroe