我正在开发一个有很多帧的项目。我知道window.length将返回“子浏览上下文”的数量,即帧和iframe,但如何查看这些列表并查看帧名称?例如,如果我想要的话,请特别注明其中一个,例如window.parent.frames["foo"]
..如果不知道我必须输入'foo',我怎么能看到帧名列表?每次我深入研究开发工具或其他东西中的窗口对象,然后展开“框架”对象,我似乎再次获得相同的“窗口”对象而不是框架列表......如果我继续向下钻取进入'帧'我递归地无处可去。
答案 0 :(得分:1)
这取决于您使用的浏览器。
例如,如果您使用Firefox,则开发人员工具中有一个按钮,可以指向文档中的特定iframe。
请参阅:https://developer.mozilla.org/en-US/docs/Tools/Working_with_iframes
对于Chrome,有相同类型的功能
请参阅:https://developers.google.com/web/tools/chrome-devtools/console/
在javascript中:
如果iframe在同一个域 ,您可以访问子框架的窗口和文档,否则您将收到CORS错误
window.frames["frame_name"].contentWindow
如果HTML是:
<frame name="frame_name">...</frame>
要获得iframe列表名称:
for (var i=0; i < window.frames.length; i++) {
console.log(window.frames[i].name);
}
答案 1 :(得分:1)
您可以遍历框架并查看/存储其名称:
for (var i = 0; i < window.parent.frames.length; i++) {
console.log(window.parent.frames[i].name)
}