自动 SiteCatalyst s_code页内和 DTM 调用
Automatic SiteCatalyst s_code call in-page and by DTM
我怀疑在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)
。
删除这两个指令将导致停止对页面加载的任何自动调用。
相反,当 DTM 提供s_code时,似乎在没有页底代码的情况下触发了第一次调用,只是通过加载s_code库。
独立s_code和DTM都是H.x版本。
所以我的最后一个问题是:
- 为什么这部分var s_code=s.t();if(s_code)document.write(s_code)
需要在页面底部?
- 究竟是什么触发了自动s_code调用?
多谢。
s.t()
是构建请求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()
调用。
然后,当您将 Adobe Analytics 作为工具实施时(无论您是将 DTM 配置为自动处理库,还是希望自己将库代码放在代码框中,还是将其托管在您自己的位置),DTM 都会自行进行s.t()
调用。
DTM 实际进行s.t()
调用的时间取决于您是将其配置为在页面顶部还是页面底部触发。
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 调用函数内部的函数
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- 为什么DTM数据元素被调用两次
- 自动 SiteCatalyst s_code页内和 DTM 调用