繁体   English   中英

当用户导航回网站时,完全删除div

[英]Completely remove a div when user navigates back to the website

我在一个网站上工作,可以说我们有一个包含2个div的index.html。

<div id="top">
    Some Content
</div>
<div id="content">
    Some Content
    <a href="page.html"></a>
</div>

内容ID div具有锚标记。 当我单击锚标记时,page.html会加载到同一标签中。 现在,当我按浏览器的后退按钮时,我希望id不存在的div出现。 实际上,我只希望当某人首次访问该网站时,div顶部应该出现,然后再也不会出现,即使有人跟随链接并尝试返回。 虽然,当有人再次在新标签页中打开网站时,该网站应该重新出现(顶部div和相同的内容)。 可能吗?

JavaScript可以做到这一点,但最好在服务器端完成。

<!DOCTYPE html>
<html>
<head>
  <title>Example</title>
  <script>
    var content, body;
    document.addEventListener("DOMContentLoaded", function() {
        content = document.getElementById("content");
        body = document.getElementsByTagName("body")[0];
        if (localStorage.getItem("wasHere") !== null) {
            body.removeChild(content);
        } else {
            localStorage.setItem("wasHere", "true");
        }
  });
  </script>
</head>
<body>
  <div id="top">
      Some Content
  </div>
  <div id="content">
      <!-- You need to put text inside links for them to show -->
      <a href="page.html">Some Content</a>
  </div>
</body>
</html>

该解决方案的问题在于localStorage易于修改且不可靠。 因此,再次,您应该真正使用服务器端解决方案。 不过,如果您需要它,就在这里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM