我嘗試寫一個Chrome瀏覽器擴展,這是通過訪問某個網站來觸發的。到目前爲止,這已經工作。我的分機用戶來自我的網頁遊戲,他們用他們的Facebook帳戶登錄。爲了用他們的遊戲帳戶識別分機用戶,我需要從我的遊戲中知道他們的fb應用範圍用戶ID。鉻擴展和Facebook登錄問題
到目前爲止,我瞭解到我的後臺腳本無法使用facebook sdk登錄,因爲window.fbAsyncInit沒有在裏面調用。我環顧四周尋找解決方案,並找到了此頁:http://brianmayer.com/2012/12/building-a-chrome-extension-that-connects-to-a-facebook-app/
他打開一個包含iframe的不可見選項卡。在iframe的內部,他從Web服務器調用Facebook登錄sdk,然後將帶有windows.postmessage的用戶數據發送給父級。這聽起來像是我的問題的完美解決方案。只有一條線,我不明白我補充有:
parent.postMessage({connectStatus:"" + response.status + "", userID:"" + uid + "", accessToken:"" + at + ""}, "https://www.<PARENT_PAGE_DOMAIN>"); //This MUST match the root domain where the iFrame will be inserted, or the message won't get passed
我有什麼在現場PARENT_PAGE_DOMAIN補充的嗎?我使用了清單文件中content_scripts/maches中的頁面的根域,並使用了託管iframe頁的域,但我從未在我的後臺腳本中收到郵件。
的評論說,它需要你插入的iframe到頁面的域名... – CBroe
是的,我已經讀過,但就像我寫我不知道當我創建一個動態的HTML包括一個背景腳本內的iframe的域URL是如何?我的意思是隻有iframe中的文件有一個真正的http地址。這是該擴展的後臺腳本。那麼我在哪裏可以看到該背景文件具有哪個網址? – computermaus