如何使网页一次只能访问一次?(JS+HTML)

How to make a webpage accessible only once at one time?(JS+HTML)

本文关键字:一次 访问 JS+HTML 网页 何使      更新时间:2023-09-26

我有一个网页(主页.html),我希望一次只能访问一次。

也就是说,一个人可以在第一次打开时进入该页面。但是,当此页面在选项卡中查看时,如果该人尝试在新选项卡中打开主页.html则会打开另一个页面。

我该怎么做?我需要在网页中添加哪些 JS 函数?

本地存储,在正文加载/卸载事件时触发:

function session1() {
var result = localStorage.getItem("session");
if (result != "running") {
localStorage.setItem("session", "running");
} else if (result == "running") {
localStorage.setItem("redirect", "yes");
window.location.replace("http://www.google.com");
}
}
function session0() {
var stats = localStorage.getItem("redirect");
if (stats == "yes") {
} else {
localStorage.setItem("session", "done");
}
localStorage.setItem("redirect", "no");
}
<body onload="session1()" onunload="session0()">
<div style="background:skyblue">SESSION RUNNING</div>

您可以尝试摆弄localStorage和onbeforeunload事件,大致如下:


    if(localStorage['visited'] == true){
        document.getElementsByTagName('body')[0].innerHTML = 'This page is opened twice.';
    }
    localStorage['visited'] = true;
    window.onbeforeunload = function(){
    localStorage['visited'] = false;
    }