2

我在 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)

它为什么以及如何转换它,为什么它甚至不再工作了?

window.frames.frames[0].name;如果我在 IE8 的控制台中键入第一个,它会抓取正确的 iFrame。但是输入IE8解释的(window.frames.frames.0.name;),根本不起作用......(奇怪的是,“预期';'”,这是零意义哈哈。

有人遇到过这样的问题吗?

4

3 回答 3

1

window.frames是一个数组,不是吗?你不应该索引第一帧吗?

window.frames[0].frames[0].name;
于 2012-11-01T14:10:48.400 回答
1

错误消息中的点符号只是浏览器使用的字符串,浏览器开发人员的选择很糟糕。

The line `window.frames.frames[0].name` does not make sense.

我希望

window.frames[0].name 

或者如果它是框架中的嵌套框架

window.frames[0].frames[0].name 
于 2012-11-01T14:11:11.257 回答
1

如果你在调用周围加上括号,它会起作用吗?像这样:

(window.frames.frames[0]).name; // get the name of the inner iFrame object

另外,您真的是指做参考window.frames.frames[0]而不是仅仅做参考window.frames[0]吗?

或者你的意思是:

window.frames[0].frames[0].name; // get the name of the inner iFrame object
于 2012-11-01T14:13:21.527 回答