history.back和window.close的顺序是否重要

时间:2018-12-11 01:16:33

标签: javascript events javascript-events

我有一个移动网页(可以说是 C ),在该网页上显示一个back图标。目前,该页面仅通过我网站另一页上的一个链接({strong> A )为always opened in new tab。因此,目前,在该后退按钮的on click中,我只是写了window.close()以关闭该标签。手机的后退按钮也会关闭该标签。

现在,我需要从另一个页面 B 提供指向页面 C 的链接,这样可以打开 C in the same tab B 。但是这一次,单击页面{strong> C 上的back buttonit 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遍历时,该选项卡应该关闭,这不是我正在观察的内容。

0 个答案:

没有答案