我希望我的Chrome擴展程序的彈出頁面顯示一個Google Chart,顯示有關用戶新聞閱讀習慣的信息。我注意到(特別是在這裏:Chrome extension doesn't work),與此相關的一個問題是,Chrome擴展程序不允許內聯腳本,這會使包括使用Google圖表所需的API文件變得複雜。有沒有解決的辦法?有什麼地方可以下載整個API來簡單地包含在我的擴展中?Chrome擴展程序彈出式菜單中的Google圖表?
3
A
回答
1
如果文檔位於Chrome擴展程序的上下文中,因爲它違反了內嵌JavaScript規則,所以無法使用Google圖表。但是,您可以將iframe放入引用遠程資源的擴展的彈出窗口中。例如,如果下面的代碼片段是在你的彈出:
<iframe src="https://mycoolextension.com/user/12345"></iframe>
然後你就可以擁有使用可在地址https://mycoolextension.com/user/12345谷歌圖表的應用程序。如果要將圖表與擴展的數據集成,則需要將參數添加到圖表iframe的地址,或者實現內容腳本以將值傳遞到iframe。
2
原則上,擴展可以使用違反CSP的庫。但是,這需要額外的箍跳:Sandboxing。
"sandbox": {
"pages": [
"sandbox.html"
]
"content_security_policy":
"sandbox allow-scripts; script-src 'self' 'unsafe-eval' https://www.google.com/jsapi"
],
它是專門爲解決此問題而創建的。有關實施細節,請參閱"Using eval in Chrome Extensions. Safely."指南。
由於沙盒頁面沒有Chrome API訪問權限,因此您需要在普通腳本和沙箱之間傳遞結果。
相關問題
- 1. Chrome擴展程序 - 在鼠標上顯示彈出式菜單
- 2. 在Chrome擴展彈出式菜單中的圖像交換
- 3. Chrome擴展文本菜單彈出
- 4. 在Chrome擴展彈出式菜單中的按鈕
- 5. Google Chrome擴展菜單摺疊菜單
- 6. Chrome擴展程序用擴展彈出式按鈕改變DOM
- 7. 模態彈出式擴展程序不顯示彈出式菜單
- 8. Chrome擴展程序彈出不顯示?
- 9. Google Chrome擴展程序創建的關閉彈出窗口
- 10. Chrome擴展彈出
- 11. 從背景調用彈出功能。 (Google Chrome擴展程序)
- 12. 如何在Google Chrome擴展程序彈出框的文本框中啓用右鍵單擊菜單?
- 13. 在iframe中加載facebook彈出式聊天.. Chrome擴展程序
- 14. 在Chrome擴展中禁用「檢查彈出」菜單項
- 15. Google Chrome擴展程序中的Flex
- 16. 模式彈出式擴展程序
- 17. Chrome擴展程序 - 從彈出窗口執行簡單的JavaScript
- 18. 在Chrome擴展的彈出窗口的上下文菜單
- 19. 使用彈出式欄的Chrome擴展程序
- 20. 在Chrome擴展程序中打開並關閉簡單的彈出式窗口
- 21. Chrome擴展程序彈出式窗口打開事件
- 22. Chrome擴展按鈕,彈出
- 23. Chrome擴展:沒有彈出
- 24. Chrome擴展程序 - 更改彈出圖標onClick/onHover
- 25. 如何從Chrome擴展彈出式菜單中打開新選項卡
- 26. Chrome擴展程序清單圖像
- 27. Google Chrome瀏覽器擴展:彈出式窗口未關閉
- 28. 帶有OAuth的Google Chrome擴展程序
- 29. 將圖標菜單添加到Chrome擴展程序
- 30. 模式彈出式菜單/圖庫(Chrome)中的奇怪行爲
是不是這個[answer](http://stackoverflow.com/questions/10799257/chrome-extension-doesnt-work#comment14051301_10799671)不夠好? – 2013-03-11 23:33:16
我希望得到更多的細節,或者可能的替代方案。您會注意到我在原帖中鏈接了該主題,並且沒有提供太多答案 - 如果沒有更多答案,我想知道。 – Zhankfor 2013-03-11 23:59:36
**沒有辦法放寬這個限制。**看起來像是對我的明確答案。 – 2013-03-12 01:47:36