iframe动态src

时间:2012-07-01 10:01:07

标签: javascript html iframe

我想使用javascript获取更新的iframe网址?

像这样:

<iframe src="http://yahoo.com" id="ifrm" onload="iframeurl()" ></iframe>
<script>
function iframeurl() {
var ifrm = document.getElementById("ifrm");
alert(ifrm.src);
}
</script>

但上面的代码不起作用。我怎样才能做到这一点? 我将在iframe中使用外部链接,该链接不在我使用上述代码的同一域中托管。

请帮助。

由于

再次感谢。 http://yahoo.com只是一个例子。我的域名再次是szacpp.com,我需要获取other.com的链接。你的意思是我需要将htaccess放在other.com中,而我却无法访问域名。

2 个答案:

答案 0 :(得分:3)

当iframe中的网页发生变化时,iframe的src属性不会更新。

您唯一的选择是在iframe中查询文档,但只有在iframe中的网页来自同一个网域时才会生效(否则您会点击same origin policy

<强>更新

IF 您可以访问other.com,那么您应该能够在Access-Control-Allow-Origin文件中设置.htaccess(假设您使用的是使用的服务器)那个文件系统)。

您可以找到更多信息......

如果您 无法访问other.com,那么您就是运气不好。您无法知道新网页的内容,因为当src内的网页发生变化时,iframe的{​​{1}}属性不会更新。由于我(或者更准确地说,Quentin)之前提到的same origin policy,你将无法使用JavaScript。

答案 1 :(得分:-1)

试试这个:

<iframe src="http://yahoo.com" id="ifrm" onload="iframeurl()" ></iframe>
<script>
function iframeurl() {
var ifrm = parent.document.getElementById("ifrm");
alert(ifrm.src);
}
</script>