更改iframe src会重定向到主页

时间:2012-09-27 17:03:32

标签: javascript html css web-applications

首先这是代码

<div id="channelmiddle" class="middle-content alignleft">
    <script type="text/javascript">
    function changechannel(ch)
    {
        var url = "ch"+ch+".html";
        document.getElementById("channelchange").src = "ch"+ch+".html";
    }
    </script>
    <center>
    <button class="button_static" onclick="changechannel(1)">Channel 1</button>
    <button class="button_static" onclick="changechannel(2)">Channel 2</button>
    <button class="button_static" onclick="changechannel(3)">Channel 3</button>
    <button class="button_static" onclick="changechannel(4)">Channel 4</button>
    <button class="button_static" onclick="changechannel(5)">Channel 5</button>
    </center>
    <iframe id="channelchange" src="ch1.html" onLoad="alert('123')" width="500" height="400" scrolling="no"></iframe>

</div>

在此页面上,每当我点击该按钮时,它都会重定向到主页。我无法弄清楚为什么。有人能帮我吗?您是否需要有关代码的更多信息?

1 个答案:

答案 0 :(得分:1)

现代浏览器内置了安全检查,以防止在更改src属性时iframe显示Web内容。 Chrome有一项功能可以使用&amp; output = embed绕过该功能。 See this article。从我的测试中,您可以更改src属性,但内容不会更改。您可以做的最好的事情是在初始页面加载时加载iframe而不是更改src属性。有一些解决方案。

  1. 重新设计。使用需要显示的内容加载iframe,而无需使用按钮单击。

  2. 将用户发送到另一个页面。使用与初始页面加载时按钮对应的url设置iframe的src。

  3. 如果您必须这样做,请尝试为每个网址制作iframe,根据按钮点击次数隐藏iframe。这不是一个理想的解决方案,但它可以实现您的目标。