当前页面里的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.webRequestAPI : 你可以使用chrome.webRequestAPI来监听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"]});