使用Javascript的会话中的自动增量功能不起作用 [英] Auto Increment in Session using Javascript is not working

查看:68
本文介绍了使用Javascript的会话中的自动增量功能不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要什么

  • 我需要像用户刷新页面时一样,我需要增加会话变量的计数.

js代码

             <script type="text/javascript">
            var count=0;
            var counter=sessionStorage.setItem("count", 0);
            var counters= sessionStorage.getItem("count");
            console.log(counters);
            var page_count =counters;
            if (page_count == 4)
            {
            dataLayer.push({'event':'mobilePromo-android'});
            }
        $(document).ready(function()
        {
            var page_count =counters;
            var height= $(window).height();
            if (page_count == 4 )
            {

                $.ajax({
                    type: "GET",
                    url: "http://domain.com/mobilepopuptracker?from=android", 

                });

                $('body').html('<div class="row flush aligncenter popbx" style="height:'+height+'px"><img src="http://im.gifbt.com/images/logo-300p");              



            }
            else
            {

            }

               counters=counters+1;
        });
            function redirect()
            {

                  var a=$(location).attr('href');
                   window.location.href=a;
            }

        </script>

问题

  • 计数值不是自动刷新的,因为刷新了浏览器.
  • console.log(counters)//0.
  • 任何建议都是最欢迎的.

价值解决方案代码仍然无效

After value solution code still not working

            var counter = null;
            if(sessionStorage.getItem("count") == null)
            {
            counter=sessionStorage.setItem("count", 0);
            counters = 0;
            }
            else
            {
            counters= parseInt(sessionStorage.getItem("count"));

            }

            var page_count =counters;
            if (page_count == 4)
            {
            dataLayer.push({'event':'mobilePromo-android'});
            }
            var page_count =counters;
            console.log(page_count);
            var height= $(window).height();
            if (page_count == 4 )
            {

                $.ajax({
                    type: "GET",
                    url: "http://times.com/mobilepopuptracker?from=android", 

                });

                $('body').html('<div class="row flush aligncenter popbx" style="height:'+height+'px">');                



            }
            else
            {

            }
              counters++;
             console.log(counters);
            function redirect()
            {

                  var a=$(location).attr('href');
                   window.location.href=a;
            }

  • 问题输出一直到1,这是没有增加.什么地方不对."
  • 输出

    • 如果将计数器设置为0,则它​​将自动递增为1,依此类推.
    • console.log(计数器)//01,它应该是自动递增的.

    参考链接

      https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage
    

    推荐答案

    您需要先检查会话值是否可用

    you need to check first for session value is available

    var counter = null;
    if(sessionStorage.getItem("count") == null){
      counter=sessionStorage.setItem("count", 1);
      counters = 1;
    }else{
      counters= parseInt(sessionStorage.getItem("count")); 
      counters++;
       counter=sessionStorage.setItem("count", counters);
    }
    

    这篇关于使用Javascript的会话中的自动增量功能不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆