使用javascript更改iframe url。firefox问题
我有一个在iframe中加载默认链接的主页http://mypage.com/myurl. 将它放在博客中,我想动态地更改iframe中每个帖子页面的默认链接。我加载默认链接,如下所示:使用javascript更改iframe url。firefox问题,javascript,firefox,iframe,Javascript,Firefox,Iframe,我有一个在iframe中加载默认链接的主页http://mypage.com/myurl. 将它放在博客中,我想动态地更改iframe中每个帖子页面的默认链接。我加载默认链接,如下所示: <iframe width='1000' height='500' name='iframename' frameborder='0' src='http:/mypage.com/myurl'></iframe> 适用于所有浏览器,我通过在每个帖子页面中添加以下代码来动
<iframe width='1000' height='500' name='iframename' frameborder='0'
src='http:/mypage.com/myurl'></iframe>
适用于所有浏览器,我通过在每个帖子页面中添加以下代码来动态更改iframe中的链接:
<script type="text/javascript">
document.iframename.location = "http://mypage.com/mynewurl";
</script>
它在chrome和ie上运行良好,但在firefox上不起作用
有什么想法或解决办法吗
这里有一个简化的示例,可以看到firefox与它在iframe中加载默认链接的区别。ie和chrome可以随着添加的javascript而改变
如果它有助于在博客上测试,你可以看到它在chrome和ie上工作,如果你点击任何文章标题或阅读更多内容来加载文章页面,顶部的iframe会相应地改变
有什么想法或解决办法吗 交叉浏览器可能不支持document.iframename.location
尝试:
这意味着:
不支持通过document.elementName语法按名称访问元素。
iframe元素没有名为location的属性。位置是窗口的一个属性。您可以使用contentWindow访问iframe的窗口。
我在这里写了一个简短的测试。在不同的浏览器中运行它 感谢@Roman,它确实有效,但是如果我改为iframe id而不是iframe name,那么我在每篇文章中也会有一些其他链接,形式为:target=iframeid>单击此处target=iframeid>在新窗口中打开,而不是在ie和firefox上的iframe中打开。在chrome上工作正常。这就是使用iframename的原因。有没有办法让这些链接也与iframeid一起工作?实际上,通过添加一个函数,比如:function changeSourcenewSource{document.getElementById'iframeid'.src=newSource;}我得到的链接是:here工作示例:谢谢,现在到处都可以工作了
<iframe width='1000' height='500' id='iframeid' frameborder='0' src='http:/mypage.com/myurl'></iframe>
<script type="text/javascript">
document.getElementById('iframeid').src = "http://mypage.com/mynewurl";
</script>