1

我有一个在 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 会相应更改

有什么想法或解决方法吗?

4

1 回答 1

0

document.iframename.location可能不支持跨浏览器。

尝试:

<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 元素没有名为 的属性locationlocation是 的一个属性window。您可以window使用iframeusing访问contentWindow

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

于 2012-10-30T08:17:09.190 回答