我没有在Firefox 3的一些测试对比的value.src
,并.documentWindow.location.href
在iframe
。(注意:在 Chrome 中documentWindow
调用的是contentDocument
,所以.documentWindow.location.href
在 Chrome 中它将是.contentDocument.location.href
。)
src
始终是在没有用户交互的情况下加载到 iframe 中的最后一个 URL。即,它包含 URL 的第一个值,或者您从包含窗口使用 Javascript 设置的最后一个值:
document.getElementById("myiframe").src = 'http://www.google.com/';
如果用户在 iframe 内导航,则无法再使用 src 访问 URL 的值。在前面的示例中,如果用户离开 www.google.com 而您执行以下操作:
alert(document.getElementById("myiframe").src);
您仍然会得到“ http://www.google.com ”。
documentWindow.location.href
仅当 iframe 包含与包含窗口位于同一域中的页面时才可用,但如果它可用,则它始终包含 URL 的正确值,即使用户在 iframe 中导航。
如果您尝试访问documentWindow.location.href
(或 下的任何内容documentWindow
)并且 iframe 位于不属于包含窗口的域的页面中,则会引发异常:
document.getElementById("myiframe").src = 'http://www.google.com/';
alert(document.getElementById("myiframe").documentWindow.location.href);
Error: Permission denied to get property Location.href
我没有测试过任何其他浏览器。
希望能帮助到你!