javascript:history.back(-1) 由 <a> 引起的问题
javascript:history.back(-1) issue caused by <a>
您好,我正在使用 按钮 返回我们的 上一页 app [我用的代码↓ ]
<a class="back-page" href="javascript:history.back(-1)"></a>
这也很完美。我的视图页面中有一些 ID
是我真正的问题。如果用户 点击 一些带有 ID
链接的锚点标签,那么他必须点击那么多时间 后退按钮重定向到上一页。
我需要的是不管他点击了多少ID
,如果他点击 后退按钮 然后页面应该重定向到上一页.
我试过一些方法的↓
第一
function goBack() {
window.history.back();
}
<button onclick="goBack()">Go Back</button>
第二
<a href="javascript: history.go(1)">Go Back</a>
第三
$(".back-page").click(function(event) {
event.preventDefault();
history.back(1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="back-page" href="javascript:void(0);">Back</a>
ID为↓的anchot标签代码
<ul>
<li><a href="#t1">Personal Info</a></li>
<li><a href="#t2">Address(s)</a></li>
<li><a href="#t3">Social Info</a></li>
<li><a href="#t4">More Info</a></li>
</ul>
None 这对我有帮助,任何帮助将不胜感激。
主要问题是单击其中一个 ID 会添加另一个历史条目。为了防止这种情况,我们可以这样做:
document.querySelectorAll("a")
.forEach(function(link){
if(link.href.includes( location.href + "#")){
//we stay on the page, prevent redirects:
link.addEventListener("click", function(event){
event.preventDefault(); //the redirect
//scroll:
document.getElementById( link.href.split("#")[1] )
.scrollIntoView();
});
}
});
如果您想更改 url(和历史记录),我们需要计算我们创建的历史记录条目,然后后退按钮需要返回该数量:
var count = 1;
document.querySelectorAll("a")
.forEach(link =>
link.onclick = () => count++
);
那么回去:
history.go( - count );
您好,我正在使用 按钮 返回我们的 上一页 app [我用的代码↓ ]
<a class="back-page" href="javascript:history.back(-1)"></a>
这也很完美。我的视图页面中有一些 ID
是我真正的问题。如果用户 点击 一些带有 ID
链接的锚点标签,那么他必须点击那么多时间 后退按钮重定向到上一页。
我需要的是不管他点击了多少ID
,如果他点击 后退按钮 然后页面应该重定向到上一页.
我试过一些方法的↓
第一
function goBack() {
window.history.back();
}
<button onclick="goBack()">Go Back</button>
第二
<a href="javascript: history.go(1)">Go Back</a>
第三
$(".back-page").click(function(event) {
event.preventDefault();
history.back(1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="back-page" href="javascript:void(0);">Back</a>
ID为↓的anchot标签代码
<ul>
<li><a href="#t1">Personal Info</a></li>
<li><a href="#t2">Address(s)</a></li>
<li><a href="#t3">Social Info</a></li>
<li><a href="#t4">More Info</a></li>
</ul>
None 这对我有帮助,任何帮助将不胜感激。
主要问题是单击其中一个 ID 会添加另一个历史条目。为了防止这种情况,我们可以这样做:
document.querySelectorAll("a")
.forEach(function(link){
if(link.href.includes( location.href + "#")){
//we stay on the page, prevent redirects:
link.addEventListener("click", function(event){
event.preventDefault(); //the redirect
//scroll:
document.getElementById( link.href.split("#")[1] )
.scrollIntoView();
});
}
});
如果您想更改 url(和历史记录),我们需要计算我们创建的历史记录条目,然后后退按钮需要返回该数量:
var count = 1;
document.querySelectorAll("a")
.forEach(link =>
link.onclick = () => count++
);
那么回去:
history.go( - count );