Js如何监视Iframe内部地址改变

最近在用jsunit来测试js代码。html

测试对象中有一个针对iframe的操做。就是经过iframe.contentwindow.location.href属性更新iframe的url。可是每次测试时候,iframe.contentwindow.location.href都是修改之前内容。缓存

开始觉得是同源域的状况,没法访问。可是明明是能够访问的啊。测试

后来又怀疑是cache缓存问题。强行刷新iframe也没用。url

本身作了一个例子。code

1.html
htm

<html>
<head>
<script>
var iframe = document.getElementById("frameArea");
alert(iframe.src);
iframe.contentwindow.location.href="b.html";
alert(iframe.src);
alert(iframe.contentwindow.location.href);
</script>
</head>
<body>
<iframe id="frameArea" name="frameArea" src="a.html"/>
</body>
<html>

a.html对象

<html>
<head>
</head>
<body>
AAAAAAAAAAAAAAAAAAAAAA
</body>
<html>

b.htmlblog

<html>
<head>
</head>
<body>
BBBBBBBBBBBBBBBBBBBBBBBB
</body>
<html>

发现只有在页面刷新后,才能显示b.html页面内容。事件

最后在http://q.cnblogs.com/q/59280/找到结果。
ip

最后,我在测试代码中,将assert判断放到iframe的load事件中就解决了。

相关文章
相关标签/搜索