javascript代码适用于IE和Chrome,但不适用于Firefox

时间:2012-07-07 19:03:48

标签: javascript internet-explorer google-chrome firefox

以下代码段在IE和Chrome中有效,但在Firefox中不起作用,我不知道为什么。

对于此代码段,在IE和Chrome中打开时,网页上会显示两条指向Google的链接,但在Firefox中没有显示任何内容。它位于body标签的脚本标记中。

var varOne = document.createElement("a")
varOne.setAttribute("href", "http://www.google.com")
varOne.innerText = "Google"
document.body.appendChild(varOne) //attach the node to the body

var varOne = document.createElement("a")
varOne.setAttribute("href", "http://www.google.com")
varOne.textContent = "Google"
document.getElementById("bodyID").appendChild(varOne) //attach the node to the body




对于这个,你点击按钮去yahoo.com。当您按下浏览器的后退按钮时,您将返回到较早的页面,但javascript将再次运行,强制浏览器返回到yahoo。一旦你离开原始页面,你就无法返回并留在那里而不被重定向到雅虎。这就是IE和Chrome中发生的事情(这是我打算用于学习目的),但我无法弄清楚为什么它在Firefox中不起作用。当你从雅虎回到原始页面时,Firefox并没有像其他两个浏览器那样强制浏览器向前推进。

<body>
<form>

    <input type="button" onclick="javascript: window.location='http://www.yahoo.com' "/>

</form>

<script type="text/javascript">

    alert("Problem?")
    window.history.forward()     
</script>
</body>

1 个答案:

答案 0 :(得分:1)

尝试将1传递到forward方法:

window.history.forward(1);

如果它不起作用,那么您可能会失去运气,因为这似乎是浏览器制造商之间的 可用性灰色区域 。允许JavaScript(用户以外的其他人)在没有他/她直接参与的情况下更改当前页面是一个可用性问题 - 类似于不断触发弹出/弹出窗口。< / p>