【发布时间】:2012-11-01 14:02:16
【问题描述】:
我在 IE8 中遇到了一个奇怪的问题,我试图通过简单的操作来获取一些东西:
window.frames.frames[0].name; // get the name of the inner iFrame object
没什么特别的,但是当脚本运行时,IE7-8 会这样解释它:
window.frames.frames.0.name;
// which in-turn gives the error
// 'window.frames.frames.0.name' is null or not an object (which is not true)
为什么以及如何转换它,为什么它甚至不再工作了?
如果我在 IE8 的控制台中键入第一个 window.frames.frames[0].name;,它会抓取正确的 iFrame。但是输入 IE8 解释的内容 (window.frames.frames.0.name;),根本不起作用……(奇怪的是,“预期的 ';'”,这是零意义哈哈。
有人遇到过这样的问题吗?
【问题讨论】:
-
记录
window.frames.frames的长度,找到你的节点了吗? -
为什么是
windows.frames.frames而不是window.frames? -
原来的 window.frames 将是父窗口本身(很奇怪)而@KevinB,它会以 0 的形式返回...哇,这让我发疯了!
-
嗯...所以它的长度为 0。我猜这并不意味着它是未定义的,如果它是一个对象,它就没有长度。它是否具有您期望的 id 或名称?基本上,找出它在该链中的确切位置发生故障。
标签: javascript jquery internet-explorer iframe internet-explorer-8