4

我做了一個Chrome擴展,以自動喜歡特定的頁面帖子。 用一個簡單的彈出控制器和後臺線程來處理fb api交互式谷歌Chrome擴展的Facebook JavaScript API

我不能使用官方示例方法將facebook js api加載到擴展頁面中。

腳本jssdk由chrome開發人員工具加載並執行。

但window.FB沒有被腳本加載定義!!!

  • 我還手動添加腳本標記。
  • 它出現了後臺線程和彈出窗口。
  • 如果使用iframe注入加載頁面,它將成功加載window.FB並彈出一個登錄/認證窗口。但它有一個跨域問題!
  • div#fb-root存在。
  • menifest.jsoncontent_security_policy

回答

0

我沒有一個解決方案,但是這可能會導致你在正確的方向。

問題可能在於擴展文檔的document.location。對於在擴展範圍內運行的JavaScript,協議是「chrome-extension://」,而許多JS庫期望「http」或「https」。

通過觀察在jssdk文件以下行,似乎FB做這樣的假設,以及:

var k = typeof j == 'undefined' ? location.protocol.replace(':', '') : j ? 'https' : 'http';

嘗試調試這些情況下,用類似替換上述行:

var k = 'http';

希望這會有所幫助。