javascript - 获取嵌套在另一个 iframe chrome 扩展中的 iframe

标签 javascript iframe google-chrome-extension nested

我一直在尝试制作一个扩展,通过查看 iframe 源来获取网络上视频播放器的源,但事实证明,许多 iframe 都将 iframe 嵌套在实际视频所在的位置,或者有时甚至是另一个 iframe 深度。我一直在尝试更深入地研究像这样的 js:

var iframe = document.getElementsByTagName("iframe");
var nestedframes = iframe.getElementsByTagName("iframe");

像这样:

var iframe = document.getElementsByTagName("iframe");
var innerDoc = iframe.contentWindow.webbody.innerHTML;
var nestedframes = innerDoc.getElementsByTagName("iframe");

但他们返回此错误:contentscript.js:6 Uncaught TypeError: iframe.getElementsByTagName is not a function.

如果有人有任何想法,我们将不胜感激。

最佳答案

getElementsByTagName() 方法获取文档上具有指定标签名称的所有元素。这意味着它为您提供了一个元素列表

所以你应该迭代它或选择单个元素来调用另一个 DOM 方法。 (注意[0])

var iframe = document.getElementsByTagName("iframe")[0]; 
var nestedframes = iframe.getElementsByTagName("iframe");

关于javascript - 获取嵌套在另一个 iframe chrome 扩展中的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822794/

相关文章:

javascript - 使页面滚动并动态加载元素

javascript - 无法访问我的 iFrame 中的值,它拒绝了我的权限

css - iframe 视频 100% 宽度

google-chrome - 扩展程序中的 Chrome 应用程序

javascript - 在 'document_start' 处运行的内容脚本会阻止网页上的 JS 脚本?

javascript - Passport.js 身份验证后 Express.js 无法正确路由

javascript - 未捕获的不变违规 : traverseParentPath(. ..) : Cannot traverse from and to the same ID, ``

javascript - 如何设置最小增量

css - Div 在不使用 IFrame 的情况下忽略所有父级 css

javascript - HTML : Body bigger height than its content