如何用js和php创建跟踪脚本?

时间:2011-05-10 11:44:43

标签: php javascript

我想创建一个简单的跟踪脚本来提供给我的客户。与GA类似但非常基本的东西。

要求是

  • 为客户提供像谷歌分析一样简单的js脚本
  • 使主站点中第3方站点加载的js文件中的大部分逻辑
  • 在PHP中收集信息并存储

    我无法想象的是这样做的方法是什么? 我看到谷歌正在加载一个gif文件,存储信息并解析日志。 如果我做类似的事情,将数据发送到php文件,Ajax跨站点策略将阻止我,从我记忆中。

    那么干净的方法是什么? (我不需要代码只是背后的逻辑)

  • 3 个答案:

    答案 0 :(得分:18)

    方法a - 网络错误:

    给用户这个:
    <img src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid" width="1" height="1" />

    让php返回header("content-type:image/gif");并为他们的工作提供gif文件。

    方法b - 脚本

    创建一个可以解析参数并让它返回content-type:text/javascript的php文件 让他们加载它像这样: <script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>

    如果你愿意,你可以做其他的事情,比如

    <script type="text/javascript">
      var associateId = "12345";
      var trackingPage="homepage";
    </script>
    <script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>
    

    然后在php中有这样的代码(观看嵌套引号)

    $str = 'var url = "http://www.yourserver.com/moretracking.php?associateid="+associateId+';
    $str .= '"&page="+trackingPage+"&ref="+escape(document.referrer);\n';
    $str .= 'document.write(\'<img src="\'+url+\'"/>\');';
    
    echo $str;
    

    答案 1 :(得分:0)

    您可以阅读有关跨域ajax及其可能的解决方案的这一点(发现谷歌搜索)...... http://snook.ca/archives/javascript/cross_domain_aj/

    答案 2 :(得分:0)

    好吧,我使用了一些PHP代码,这些代码包含在我的脚本中,用于记录Ip地址以及从服务器端角度可以获得的更多信息。它将其保存在MySql数据库中。我还使用Ajax脚本将数据发布到php脚本,这种情况下的数据是Screen Heigth,你只能得到客户端的数据。