Javascript 是否可以检测页面是否通过导航栏打开?

Javascript 是否可以检测页面是否通过导航栏打开?,javascript,html,css,Javascript,Html,Css,是否可以通过我的导航栏检测页面是否已打开? 我有我的学校项目的脚本,它打开了导航栏。看起来是这样的: function openNav() { document.getElementById("navbar").style.width = "14%"; document.getElementById("main").style.marginLeft = "14%"; } function

是否可以通过我的导航栏检测页面是否已打开? 我有我的学校项目的脚本,它打开了导航栏。看起来是这样的:

function openNav() {
    document.getElementById("navbar").style.width = "14%";
    document.getElementById("main").style.marginLeft = "14%";
  }
  

function closeNav() {
    document.getElementById("navbar").style.width = "0%";
    document.getElementById("main").style.marginLeft = "0%";
  }
它打开了我的导航栏,我选择了我想去的网站。 这是html的导航栏部分

<script src="navbar.js"></script>
    <div id="navbar" class="sidebar">
        <a href="index.html" class="closebtn" onclick="closeNav()">&times;</a>
        <a class="active" href="index.html">Kvantový počítač</a>
        <a href="Double slit experiment.html" onclick="scriptDec()">Youngov experiment</a>
        <a href="Qbit.html">Qubit a superpozícia</a>
    </div>


它把我带到网站并关闭导航栏。我想打开导航栏。是否有可能让它打开

当然,例如,如果您使用Google Analytics跟踪您的网站流量,如果您使用?source=navbar在您的URL中,Google Analytics可以看到请求是通过navbar交互创建的

你可以这样做:

<div id="navbar" class="sidebar">
    <a href="index.html?source=navbar" class="closebtn" onclick="closeNav()">&times;</a>
    <a class="active" href="index.html?source=navbar">Kvantový počítač</a>
    <a href="Double slit experiment.html?source=navbar" onclick="scriptDec()">Youngov experiment</a>
    <a href="Qbit.html?source=navbar">Qubit a superpozícia</a>
</div>

因此,您只需要在后端服务器或通过JS进行检查

在将用户带到另一个网站之前,单击链接将关闭导航栏。有没有办法让导航栏保持打开状态

回答:您可以做的一件事是设置
target=“\u blank”
。这将在新选项卡或窗口中打开链接,使导航栏在其自己的选项卡或窗口中保持不变。像这样

是否可以通过我的导航栏检测网站是否被打开

答:是的!有几种方法可以做到这一点

解决方案1:使用“cookies”。网页使用Cookies来存储和检索用户计算机上的信息。当用户离开您的站点时,cookie不会被销毁。因此,当用户返回到您的站点时,您可以检查用户的计算机是否已经具有以前由您的站点设置的cookie

Soln2:以类似的方式使用
window.localStorage
。但在这里,您最终必须使用
window.clear()
手动删除信息。单击链接后,无论用户何时返回您的网站,他/她都可以检查他/她单击的链接。试试看



清楚的 显示访问过的URL /*你需要的功能*/ 函数addSiteToCookie(站点名称){ if(localStorage.getItem(“已访问的站点”)==null){ setItem(“已访问的站点”,站点名称); }否则{ var prev_visions=localStorage.getItem(“已访问的站点”); 上一次访问=上一次访问+“;”+站点名称; setItem(“已访问的站点”,上次访问); } } 功能显示(){ document.getElementById(“pp”).innerHTML= “sites_visted=“+localStorage.getItem”(“sites_visted”); }
localStorage
中保存导航栏是打开还是关闭的,并在加载页面时检查导航栏是否打开,如果打开,则重新打开。