获取子iframe src值

时间:2014-09-29 12:14:42

标签: javascript html iframe

我有以下代码

<iframe src="http://www.w3schools.com" id="abc">        
     <iframe src="http://www.w3schoolss.com" id="abcd">
    </iframe>
</iframe>

我想获得子iframe的src值。我无法获得该值。我甚至使用

document.getElementById("abcd")也。但没有运气......

仅使用javascript我需要解决方案。

提前致谢...

1 个答案:

答案 0 :(得分:2)

`src` is always the last URL that was loaded in the iframe without user interaction. I.e., it contains the first value for the URL, or the last value you set up with Javascript from the containing window doing:

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中导航也是如此。 / p>

如果您尝试访问documentWindow.location.href(或documentWindow下的任何内容)并且iframe位于不属于包含窗口的域的页面中,则会引发异常:< / p>

document.getElementById("myiframe").src = 'http://www.google.com/';
alert(document.getElementById("myiframe").documentWindow.location.href);

尝试比较.src.documentWindow.location.hrefiframe的值。 (注意:Chrome中的documentWindow称为contentDocument,因此Chrome中的.documentWindow.location.href代替.contentDocument.location.href。{/ p>