当前页面里的iframe 加载的网页没有注入到,无法读取 iframe里的节点内容
-
使用
all_frames
选项 : 在你的content_scripts
配置中,添加all_frames: true
,这样可以确保脚本注入到所有的iframe中。"content_scripts": [ { "matches": ["<all_urls>"], "js": ["content_hook.js"], "run_at": "document_start", "all_frames": true }, { "matches": ["<all_urls>"], "js": ["js/pako.min.js","js/utils.js", "js/coockie.js", "js/youtub.js", "content.js"], "run_at": "document_start", "all_frames": true } ]
-
动态注入脚本 : 你可以在
background.js
中监听webNavigation
事件,并动态注入脚本到iframe中。chrome.webNavigation.onCompleted.addListener(function(details) { chrome.scripting.executeScript({ target: {tabId: details.tabId, frameIds: [details.frameId]}, files: ['content_hook.js'] }); }, {url: [{urlMatches: '<all_urls>'}]});
-
使用
chrome.webRequest
API : 你可以使用chrome.webRequest
API来监听iframe的加载,并注入脚本。chrome.webRequest.onCompleted.addListener(function(details) { chrome.scripting.executeScript({ target: {tabId: details.tabId, frameIds: [details.frameId]}, files: ['content_hook.js'] }); }, {urls: ["<all_urls>"], types: ["sub_frame"]});