如何防止在每次页面加载时初始化全局javascript变量?

如何防止在每次页面加载时初始化全局javascript变量?,javascript,global-variables,Javascript,Global Variables,当有人第一次来到我的网站时,我试图显示一个div标签。单击其他页面的链接后,当它们返回主页时,我不希望显示div标记。是否有任何方法可以保存会话变量之类的内容,我可以对其进行测试,以便不显示介绍性div标记 我尝试在函数外使用全局声明,但每次加载页面时都会初始化。因为它是一个.php页面,所以它当然要重新加载 有没有其他方法可以做到这一点(除了cookies),例如通过从php执行javascript代码(我知道如何在php中执行会话变量)。如果您出于任何原因不想使用存储,并在php页面上点击读

当有人第一次来到我的网站时,我试图显示一个div标签。单击其他页面的链接后,当它们返回主页时,我不希望显示div标记。是否有任何方法可以保存会话变量之类的内容,我可以对其进行测试,以便不显示介绍性div标记

我尝试在函数外使用全局声明,但每次加载页面时都会初始化。因为它是一个.php页面,所以它当然要重新加载


有没有其他方法可以做到这一点(除了cookies),例如通过从php执行javascript代码(我知道如何在php中执行会话变量)。

如果您出于任何原因不想使用存储,并在php页面上点击读取预防变量,您可以将其发布到用户要访问的任何页面,并在用户返回时让这些页面将其发布到原始的第一个脚本。笨拙,代码很多,但如果你的问题是如何实现你所描述的东西,那么它是有效的。

如果你出于任何原因不想使用存储,并在php页面上阅读你的预防性变量,你可以将其发布到你的用户要访问的任何页面,并让这些页面发布到你的原始页面,他们回来的时候第一个剧本。笨拙,代码很多,但是如果你的问题是如何实现你描述的东西,那么它是有效的。

首先感谢@Denys Séguret为我的问题提供答案。下面是我最终创建的代码

首先,在.php文件的头中,我有:

    <script type="text/javascript">
    if (sessionStorage.getItem('firsttime') === null) {
        sessionStorage.setItem('firsttime', 'True');
    }
    function Hider(){
        document.getElementById("Opener").style.display = "none";
        sessionStorage.setItem('firsttime', 'False');
        }
    </script>
注意z-index行,它浮动页面上的“Opener”div


希望这对其他人有所帮助。

首先感谢@Denys Séguret为我的问题提供答案。下面是我最终创建的代码

首先,在.php文件的头中,我有:

    <script type="text/javascript">
    if (sessionStorage.getItem('firsttime') === null) {
        sessionStorage.setItem('firsttime', 'True');
    }
    function Hider(){
        document.getElementById("Opener").style.display = "none";
        sessionStorage.setItem('firsttime', 'False');
        }
    </script>
注意z-index行,它浮动页面上的“Opener”div


希望这对其他人有所帮助。

如果Cookie是不可能的(为什么?)。此外,html5将限制浏览器对更新浏览器的支持。@DenysSéguret thanx,这看起来很有希望!你不会“从PHP执行javascript代码”,但你不能完全检查服务器端并决定是否回显某个实际包含javascript指令的字符串如果Cookie是不可能的(为什么?),那么html5 localstorage呢?你想要的是doidt,Cookie会进入法律问题,我计划稍后-现在解决,刚刚拿到MVP。此外,html5将限制浏览器对更新浏览器的支持。@DenysSéguret thanx,这看起来很有希望!您不会“从PHP执行javascript代码”,但您不能完全检查服务器端并决定是否回显实际包含javascript指令的特定字符串
#Opener {
  background-color: #ff0099;
  position:absolute;
  width:600px;
  height:440px;
  z-index:100;
  margin-left: 50%;
  left: -300px;
  top: 180px;
  text-align:center;
  padding-left:50px;
  padding-right:50px;
}