我无法让它发挥作用。我已经尝试了很多年。请帮我。
<script>
function goBack() {
window.history.back()
}
</script>
<button onclick="goBack()">Go Back</button>
答案 0 :(得分:7)
请查看this question: Inconsistency with window.history.back()。
此
<button type="button" onclick="goBack()">Go Back</button>
可能是您正在寻找的
浏览器可以将按钮解释为提交按钮和 提交表单,从而导致页面刷新。添加type =&#34;按钮&#34; 会阻止这种情况。
答案 1 :(得分:3)
首先,您应该确保脚本标记具有正确的类型集:
<script type="text/javascript">
...
</script>
另外,我建议使用历史对象的“go”功能,因为兼容性更高。为简化起见,您可以简单地执行此操作:
<button onclick="javascript:history.go(-1)">Go Back</button>
希望这有帮助。
答案 2 :(得分:3)
这对我有用
<button type="reset" onclick="goBack()">Go Back</button>
答案 3 :(得分:1)
如果window.history.back()
方法没有任何以前的网址,则var dataset = [];
function addData(name,wlevel){
var tmpObj = new Object;
tmpObj.name = name;
tmpObj.wlevel = wlevel;
dataset.push(tmpObj);
}
addData("nmgn",12.1);
addData("mstr",24.8);
for(i=0 ; i < dataset.length ; i++){
document.write("<p>" + dataset[i].name + ": ");
document.write(dataset[i].wlevel + "</p>");
}
方法无效。您的程序需要有一个起始URL,您需要让您的程序前进到下一页才能继续前进。
答案 4 :(得分:1)
这可以阻止它显示出来
<a href="#" onclick=DoSomething()>Stop it working</a>
那是因为href会在历史记录中有效地添加新页面,再次显示当前页面
如果你打电话
event.preventDefault()
在DoSomething中,#永远不会被添加到历史记录中,它似乎再次起作用
答案 5 :(得分:1)
尝试阻止按钮的默认操作。请注意,如果您在当前标签中没有访问其他页面,则不会发生任何事情。
Javascript:
<button id="goBack">Go Back</button>
<span id="result"></span>
<script>
document.getElementById("goBack").addEventListener("click", function(event){
event.preventDefault();
document.getElementById("result").innerHTML = "Going back";
window.history.back();
});
</script>
jQuery:
<button id="goBack">Go Back</button>
<span id="result"></span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$('#goBack').click(function(event){
event.preventDefault();
document.getElementById("result").innerHTML = "Going back";
window.history.back();
});
</script>