Javascript 如何强制内容脚本等待所有元素(也包括iFrame)完成加载?

Javascript 如何强制内容脚本等待所有元素(也包括iFrame)完成加载?,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,引用 我有一个Chrome扩展内容脚本,我想与特定页面上的iFrame交互。我可以看到我的内容脚本在页面完成加载之前执行 我尝试添加documentready(我以前没有做过,我认为它不适用于内容脚本),它只是先执行,然后再执行其他操作 $(document).ready(function () { console.log('DOM finally loaded with iFrame...'); }); 这是我关于内容脚本的清单部分-我刚刚根据链接问题中的讨论添加了文档 内容脚本中的代码

引用

我有一个Chrome扩展内容脚本,我想与特定页面上的iFrame交互。我可以看到我的内容脚本在页面完成加载之前执行

我尝试添加documentready(我以前没有做过,我认为它不适用于内容脚本),它只是先执行,然后再执行其他操作

$(document).ready(function () {
  console.log('DOM finally loaded with iFrame...');
});
这是我关于内容脚本的清单部分-我刚刚根据链接问题中的讨论添加了文档

内容脚本中的代码是否可以等待完整的页面加载(包括iFrame)?或者我需要将侦听器添加到我知道最终将出现的“see”元素的内容脚本中,然后采取行动吗

"content_scripts": [
    {
        "matches": ["http://*/*","https://*/*"],
        "js": ["/dscripts/jquery-3.1.1.min.js", "/scripts/content.js"],
        "all_frames" : true,
        "match_about_blank": true,
        "run_at": "document_idle"
    }
],

AFAICT有一个标准的DOM事件,它完全可以执行您想要的操作—在
窗口
上触发。是的,刚刚在nytimes.com上试用过。当然,它不会等待动态添加的iFrame。谢谢各位,如果你们想写它,很乐意接受答案。我认为我的思维模式有点倒退…我只是在听用户点击我想要的元素-这只会发生在页面完全加载时(iFrames也是如此)…这就是我一直以来的想法。我试图为一个元素添加监听器…实际上我可以使用focusin并检查元素是否激活。