在网页中加入了一个iframe子页面,点击子页面的链接改变父页面Iframe的SRC地址为什么跳转不了

1.html
<iframe id="ifra" name="1" src="2.html" width="517" height="460" frameborder="0" marginwidth="0" scrolling="auto"></iframe>

2.html
<script>
function aa(str)
{
var fram = parent.document.getElementById("ifra"); ;
fram.src=str;//Iframe--SRC
}
</script>
<a href="#" onclick="JavaScript:aa('3.html')">点我改变父页面内容</a>

3.html
我是第三个页面

在火狐和IE中是可以的。
但是在chrome、360等webkit内核的浏览器中是:“Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.”错误吧。大意为:未捕获的安全错误:阻止了一个域为null的frame页面访问另一个域为null的页面。
因为你是在本地打开的,跨页面操作涉及域的概念(origin),所以会出现这个错误。
若是你放在服务器上,就不会出现这个错误了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-06
把a标签的href="#" 换成href="javascript:;"
第2个回答  2015-03-06
同一个iframe?把自身跳转了就好了吧,不用管子页面父页面什么的
href="3.html",或者js里面window.location.href="3.html"本回答被提问者采纳
第3个回答  2015-03-05
我测试了,这样应该是没问题的,你可以在firebug里调试一下追问

IE 360 搜狗 里都提交不了的 放到 连接放到父页面就可以了!!子页面不行的!!你确定你测试了??瞎搞啊!

追答

没瞎搞,我确实建了3个页面,复制了你的代码好不好!有图有真相

相似回答