0

我有几个项目尝试使用这两行代码来调用 iFrame 的 url。它们在 IE9+ 和 FF 中的行为不同(IE7 和 IE8 与第一行完美配合。我没有在 IE7 和 IE8 中测试过第二行)。

有人知道为什么是这样吗?我想它必须做 IE webkit 之类的?但是,我不确定。

// This calls the iFrame once, but if you call it again with this command, it throws
// a null object error
window.frames["el"].location 

//versus 

// This seems to work the same each time.
document.getElementById("el").src

任何见解都会很酷......谢谢!

4

1 回答 1

1

第一种方法,frames直接访问一个窗口,并读取实时位置属性。它只有一个限制:当帧的来源不同时,它会失败。

第二种方法读取帧的 src属性。当框架导航离开时,它不会更新。因此,该属性是不可靠的。

另一种选择是location从框架的contentWindow属性中读取。它与第一种方法具有相同的限制,但您不必将name属性附加到框架。

document.getElementById("el").contentWindow.location
于 2012-07-04T16:18:42.507 回答