以下代码段在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>
答案 0 :(得分:1)
尝试将1
传递到forward
方法:
window.history.forward(1);
如果它不起作用,那么您可能会失去运气,因为这似乎是浏览器制造商之间的 可用性灰色区域 。允许JavaScript
(用户以外的其他人)在没有他/她直接参与的情况下更改当前页面是一个可用性问题 - 类似于不断触发弹出/弹出窗口。< / p>