【问题标题】:Automatic SiteCatalyst s_code call in-page and by DTM页面内和 DTM 自动调用 SiteCatalyst s_code
【发布时间】:2015-02-04 10:52:07
【问题描述】:


我一直怀疑在 SiteCatalyst s_code 内部,究竟是什么触发了页面加载时的第一个自动调用。

事实上,我遇到了两种不同的情况,这让我有点困惑。
通常, s_code 库带有如下图所示的页面底部代码:

<!-- SiteCatalyst code version: H.26.0.
Copyright 1996-2011 Adobe, Inc. All Rights Reserved
More info available at http://www.omniture.com -->
<script language="JavaScript" type="text/javascript" src="path_to/s_code.js"></script>
<script language="JavaScript" type="text/javascript">
/* You may give each page an identifying name, server, and channel on the next lines. */
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t();if(s_code)document.write(s_code)</script>
<script language="JavaScript" type="text/javascript">
if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')</script><noscript><img src="http://metrics...." height="1" width="1" border="0" alt=""/></noscript><!--/DO NOT REMOVE/-->
<!-- End SiteCatalyst code version: H.26.0. --><br/><br/>

我结束了这部分:var s_code=s.t();触发第一次自动调用(通过 t() 方法)但我想知道为什么需要 if(s_code)document.write(s_code)
删除这两个指令会导致停止页面加载时的任何自动调用。

当 s_code 由 DTM 提供服务时,似乎会在没有页面底部代码的情况下触发第一个调用,只需加载 s_code 库即可。
两个立场- 单独的 s_code 和 DTM 是 H.x 版本。

所以我的最后一个问题是:
- 为什么页面底部需要这部分 var s_code=s.t();if(s_code)document.write(s_code)
- 究竟是什么触发了自动 s_code 调用?
非常感谢。

【问题讨论】:

    标签: javascript tags web-analytics adobe-analytics web-analytics-tools


    【解决方案1】:

    s.t() is the actual "trigger" 构建请求 URL,在大多数情况下,也发出请求。但是,非常旧的 IE 版本(实际上已经没人关心了),它无法通过制作 img 对象来发出请求。因此,添加了 document.write 的额外代码,以迎合那些非常旧的 IE 版本(实际上已经没人关心了)。

    所以,除非您真的仍然想迎合非常旧的 IE 版本(我们说的是 IE1-IE4),否则页面代码可以简化为:

    <script language="JavaScript" type="text/javascript" src="path_to/s_code.js"></script>
    <script language="JavaScript" type="text/javascript">
    /* custom vars here */
    
    /* end custom vars */
    s.t();
    </script>
    

    另一方面,使用 DTM,您有“顶部”代码,即脚本包含,然后是“底部”代码,即 _satellite.pageBottom() 调用。

    然后,当您将 Adob​​e Analytics 作为工具实施时(无论您将 DTM 配置为自动处理库,还是希望将库代码自己放入代码框中,或将其托管在您自己的位置),DTM 都会让s.t() 自己调用。

    DTM 何时实际发出s.t() 调用取决于您将其配置为在页面顶部还是页面底部触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 2011-11-04
      • 1970-01-01
      • 2012-04-14
      • 1970-01-01
      相关资源
      最近更新 更多