会话重新创建每次在Android Chrome中

时间:2018-04-09 12:14:24

标签: javascript php

我有复杂的php跟踪器,用于存储用户点击等。我在这里为pixel.php提供示例代码

session_start();
header('Content-type: image/png');
echo gzinflate(base64_decode('6wzwc+flkuJiYGDg9fRwCQLSjCDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOSxMDB+E7cIBcl7uvq5rHNKaAIA'));

        if (!isset($_SESSION['track']) || $_SESSION['track'] == '')
        {
        $_SESSION['track'] = "New User";
    //code to insert new user
        }
        else
        {
        $_SESSION['track'] = "Old User";    
    //codes to update old user
        }

现在我想在用户点击我的注册表单或一些句子时触发像素。所以我使用下面的代码

  <script>
  function firepixel(val) {
    var img = document.createElement("img");
    img.setAttribute("src", "https://www.stimulatemind.com/track/pixel.php?id="+val);
    /* set other attributes here */
    document.body.appendChild(img);
  }
</script>


<script>
 $(document).on('click', '[data-pixel]', function() {

 var val = $(this).data("pixel"); 

firepixel(val);


}) ;
</script>

这个代码在桌面和ios中运行得非常好,但对于android chrome和其他一些浏览器。每次调用pixel.php时都会创建新的Session。

我尝试了jquery $ .get $ .getJSON等,但每次创建新会话时都会。

任何替代或交叉浏览器方法吗?谷歌分析如何做到这一点?

1 个答案:

答案 0 :(得分:0)

 header('Content-type: image/png');
 echo gzinflate(base64_decode('6wzwc+flkuJiYGDg9fRwCQLSjCDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOSxMDB+E7cIBcl7uvq5rHNKaAIA'));
 session_start();

1)如果它的PNG图像存储它gzip只是膨胀它的大小。

2)为什么在使用AJAX或SJAX请求更加灵活地执行此操作并避免重新绘制时,为什么还要创建图像?

3)刷新标题后你是starting your session

4)您的错误记录无法正常工作