有一个任务使项目的每个网页都不重复。那些。用户不应在同一浏览器中注意到同一网页的多个重复项。请建议一个特定的解决方案。
可以非常简单地解决任务,如果满足一个条件 - 每个页面都有其自己的唯一标识符。我有这个$("正文"(。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属性,该窗口在重新加载或关闭页面之前起作用。在这种情况下,我们将删除价值。现在,在同一浏览器中将没有重复。