【问题标题】:Click Anywhere Pop Up Windows Once pervisit?单击任何地方弹出窗口一次pervisit?
【发布时间】:2015-03-02 15:46:36
【问题描述】:

任何人都可以帮助如何在任何地方单击时打开新窗口,但只能访问一次。 例如,您访问 google.com 并单击那里的任意位置,新窗口将打开但仅打开一次,第二次单击不会打开窗口。
网站示例:http://afowles.blogspot.com
我的脚本是

函数弹出() {
   window.open("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550");

然后放

onclick="popup()"
在体内。
上面的代码每次点击网站都会显示新窗口。我应该怎么做才能让它只显示一次?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    设置一个全局变量 a=1; 然后在函数中检查变量的值。 windows.open 执行后,更改全局变量的值,使 windows.open 不再执行。

    代码:

    <script>
    var a=0;
    function popup() {
    if(a==0){
    window.open ("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550");
    a++;
    }
    }
    </script>
    

    【讨论】:

      【解决方案2】:

      首先,您需要自己定义访问的内容,即每天、每周或每次用户登陆您的网站、加载的每个页面等时访问一次。

      假设您希望用户在浏览时保持一些持久性,您需要在您的网站上设置一个条件,以便在第一次点击之前进行评估,如果结果表明用户第一次访问,则打开页面。同时,设置一个下次检查的值(很可能所有后续点击都基于您当前的实现)。 LocalStorage 或 cookie 将是您的最佳选择。

      我会按照以下方式设置一些东西:

      //check page is loaded
      if (cookie.firstVisit) {
        //add click event listener
      } else {
        //set cookie.firstVisit to false
        //remove click event listener
      }
      

      这里不再详细说明如何使用 cookie,而是看一下这篇解释了一切的文章:How to set/unset cookie with jQuery?

      最后,在大多数情况下,当有人点击您页面上的任何位置而他们没有明确希望执行该操作时打开一个新窗口被认为是不好的做法。但是,我不知道您的情况,所以这可能是最好的做法,但认为值得一提。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-09
        • 1970-01-01
        • 1970-01-01
        • 2019-04-04
        • 2022-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多