有一项任务是使该项目的每个网页都不重复。那些。由于同一浏览器中的注意力不集中,用户不应打开同一网页的多个重复项。请提出具体解决方案。
答案 0 :(得分:-1)
如果满足一个条件,则可以非常简单地解决任务-每个页面都有其自己的唯一标识符。我有这个$('body')。attr('id')。 让我们调用函数noDuplicateTabs,并在每次页面启动时调用它。 我们使用localStorage:
let noDuplicateTabs = function (pageName) {
localStorage.getItem(pageName)
? window.close()
: localStorage.setItem(pageName, 'open');
window.onbeforeunload = function () {
localStorage.setItem(pageName, '');
};
}
因此,我们在函数中传递页面名称,并使用与页面名称相对应的localStorage键检查是否存在值。 如果找到具有非空值的键,则我们关闭页面,如果没有,则将值“打开”写入其中。
我们还使用窗口的onbeforeunload属性,该属性在重新加载或关闭页面之前起作用。在这种情况下,我们将擦除该值。 现在,在同一浏览器中将不再重复。