17

將javascript注入文檔頁面的問題很多。我真正想做的是在文檔內的iframe中注入javascript。使用Chrome擴展在iframe中注入javascript

需要說明的是,iframe與文檔不屬於同一個域。我已經通過控制檯(不通過擴展名)嘗試過它,但無法這樣做。

我很好奇,如果這是可以使用鉻擴展完成的事情?

回答

38

是的,你可以使用manifest.json中content_scripts屬性是這樣的:

"content_scripts": [{ 
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content_frame.js"], 
    "all_frames": true 
}], 

通過設置all_framestrue你會注入/包括content_frame.js javascript文件到上面的文件和I幀所有。如果你只需要JavaScript的iframe中注入而不是頂部文檔中,你可以檢查你的content_frame.js文件中是這樣的:

if (parent === top) { 
    // here you can put your code that will run only inside iframe 
} 
+1

我只是一個初學者,我編寫只有一個延伸,直到日期。你有任何完整的例子或我可以通過的任何鏈接。 –

+0

@coding_idiot我將我的答案擴展了一些,並添加了關於如何使用content_scripts的文檔的鏈接。我希望現在更清楚? –

+1

您可以使用'include_globs'和'exclude_globs'來定位特定的框架,而不是在腳本中執行if語句:https://developer.chrome.com/extensions/content_scripts#include_globs – jkupczak