将 document.write 替换为 jQuery for 转化跟踪代码

Replacing document.write with jQuery for conversion tracking code

本文关键字:跟踪 代码 for jQuery document write 替换      更新时间:2023-09-26

正在使用这些跟踪脚本,但是不久前它们被其他人修改了,因为它在某些页面上引起了问题。转换跟踪目前不起作用,我不明白如何使用jQuery来替换原始JavaScript,这非常简单。

  • 请注意,我无法验证该修复程序是否有效。它们在别人的服务器和帐户上,我无法从他们那里获得明确的信息。

通用标记(显示在所有页面上)更改:

从。。。

<script type="text/javascript">
    var ATRK_CLIENT_ID="0000000" ;
    var ATRK_PROTOCOL=(("https:" == document.location.protocol) ? "https://" : "http://"); 
    document.write(unescape("%3Cscript type='text/javascript' src='" + ATRK_PROTOCOL + "js.acq.io/ATRK_" +
    ATRK_CLIENT_ID + "_min.js' %3E%3C/script%3E" )); 
</script>

自。。。

<script type="text/javascript">
    jQuery(function(){
        var ATRK_CLIENT_ID="0000000" ;
        var ATRK_PROTOCOL=(("https:" == document.location.protocol) ? "https://" : "http://");
        jQuery.getScript(ATRK_PROTOCOL + "js.acq.io/ATRK_" + ATRK_CLIENT_ID + "_min.js");
    });
</script>

转换代码(显示在订单成功页面上):

从。。。

<script type="text/javascript">
    ...
    ATRKtracker.setTransId('1234567890');
    ...
</script>

自。。。

<script type="text/javascript">
    jQuery(function(){
        ...
        ATRKtracker.setTransId('1234567890');
        ...
    });
</script>
跟踪

软件没有收到任何跟踪信息,我不熟悉jQuery或Javascript。

问题

  1. 在"固定"转换脚本中,甚至有必要使用 jQuery 吗?在我看来,无论通用标签修改如何,您都可以继续使用原始转换代码。

  2. 通用标签实际上只写<script type="text/javascript" src="http://js.acq.io/ATRK_0000000_min.js"></script><script type="text/javascript" src="https://js.acq.io/ATRK_0000000_min.js"></script>你能硬编码并始终只使用 http 或 https 而不考虑document.location.protocol吗?

有什么想法吗?

要回答您的问题:

  1. 正如@ingo-bürk所说,答案是否定的,但你看到的问题可能是因为实施错误。包装在 jQuery() 中的函数从未执行过,例如。通过在它之后放置圆括号().getScript()更改很好,ATRKtracker.setTransID()调用可以保持原样。
  2. 如果您可以确定您的协议,您可以对其进行硬编码,但此类公司提供的片段是为适用于各种设置而编写的。不过,我现在可能会将协议全部关闭,例如。 <script src="//js.acq.io/ATRK_0000000_min.js"></script>获得相同的效果。