有什麼辦法讓遠程JS文件擴展到Chrome擴展?在Chrome擴展中使用遠程JavaScript
我的manifest.json看起來是這樣的:
{
"name": "My Extension",
"version": "0.1",
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["jquery.js", "main.js"],
"run_at": "document_end",
"all_frames": true
}
]
}
我想用一個的JavaScript API,它是由在選擇域名的使用限制,所以我不能它插入只是在Chrome加載頁面像這樣:
$('head').append('<script src="http://example.com/myApi.js?key=%key%"></script>');
因爲JS API提醒我,我在URL上使用它,我沒有給他們。
我想只使用這個遠程JS的一些功能。 API密鑰可以在本地主機上註冊並使用。
但我沒有任何線索,如何解決這個問題 - 在哪裏把遠程JS文件,以便能夠使用它。
我有一個想法來創建"virtual DOM",但也許這不是一個解決方案,因爲JS API代碼無法執行。
在哪裏可以插入代碼?一些背景頁面?
也許一種解決方案是插入一個iframe(託管在我的域的某處並在API中註冊)頁面並從這裏調用JS函數?這個解決方案可以工作,但它不喜歡我的域/服務器可用性的依賴性。我想在Chrome的某些「沙箱」中執行代碼(在API的視圖中 - 在本地主機上)。 – 2010-07-23 19:38:20
聽起來你只需在瀏覽器中訪問'http://example.com/myApi.js?key =%key%',保存文件,將其稱爲'external.js',並將它放在相同的位置你有'jquery.js'和'main.js'(也可以像這樣:'[「jquery.js」,「main.js」,「external.js」]')將它添加到清單中。 – Adam 2010-07-23 20:37:45