javascript - 使用 Javascript 在 session 中自动递增不起作用

标签 javascript jquery

我需要什么

  • 我需要在用户刷新页面时增加 session 变量的计数。

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(计数器)//0 .
  • 欢迎提出任何建议。

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

            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(counters)//01 应该是自增的。

引用链接

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

最佳答案

您需要先检查 session 值是否可用

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 - 使用 Javascript 在 session 中自动递增不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840425/

相关文章:

javascript - 将数据从 Quilljs 发送到 Node.js

javascript - 注册多个事件监听器,即使我正在使用 removeEventListener

javascript - 在服务中使用 $scope

jquery - 禁用 Bootstrap 双列表框中自动排序所选值

javascript - chrome 内容脚本 : window. postMessage() "message"事件不包含 "source"属性

javascript - 带滚动条的 Swiper 自定义分页

javascript - 移动设备和浏览器屏幕方向不同的 javascript/jQuery 函数

JavaScript 函数未触发

jquery - Ajax : Why success displays 0?

jquery - 向上滚动时滚动动画不起作用