使用javascript更改iframe网址。 firefox问题

时间:2012-10-30 08:12:37

标签: 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中的链接:

<script type="text/javascript">
    document.iframename.location = "http://mypage.com/mynewurl"; 
</script>

它适用于chrome和ie,但它不适用于Firefox!

任何想法或解决方法?

这里有一个简化示例www.tinyurl.com/9l7zt2n,看看它与firefox的不同之处在于它加载了iframe中的默认链接。 ie和chrome可以随添加的javascript而改变。

如果它有助于在博客www.tinyurl.com/9axhquh上测试它,你可以看到它正在使用chrome,即,如果你点击任何帖子标题或“阅读更多”来加载帖子的页面,iframe顶部会发生变化相应

任何想法或解决方法?

1 个答案:

答案 0 :(得分:0)

可能不支持

document.iframename.location crossbrowser。

尝试:

<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>

这意味着:

  1. 不支持通过document.elementName语法按名称访问元素。
  2. iframe元素没有名为location的属性。 locationwindow的属性。您可以使用window
  3. 访问iframe的{​​{1}}

    我在这里写了一个简短的测试http://jsfiddle.net/FyNW9/。在不同的浏览器中运行它。