我有一个移动网页(可以说是 C ),在该网页上显示一个back
图标。目前,该页面仅通过我网站另一页上的一个链接({strong> A )为always opened in new tab
。因此,目前,在该后退按钮的on click
中,我只是写了window.close()
以关闭该标签。手机的后退按钮也会关闭该标签。
现在,我需要从另一个页面 B 提供指向页面 C 的链接,这样可以打开 C in the same tab
, B 。但是这一次,单击页面{strong> C 上的back button
,it should not close the window
,但返回上一页,即 B 。我所做的是,在调用window.close()之前,先添加一个对history.back()的调用,如下所示:
代码:
document.querySelector('#detailsbackBtn a')
.addEventListener('click', function () {
history.back();
window.close();
});
由于history.back()如果没有以前的历史记录可进行任何操作,因此当我来自A to C
时,将执行window.close()
并关闭选项卡。当我来自B to C
时,执行history.back()会返回历史记录(返回页面 B ),并且不会关闭窗口。我已经对其进行了测试,并且效果很好。
BUT ,来自w3Org doc,history.back()queues a task
,这意味着window.close()
必须为executed
并应关闭窗口()。这意味着当我从B to C
遍历时,该选项卡应该关闭,这不是我正在观察的内容。