2

印象跟踪器通常是您可以使用该new Image().src方法或类似方法点击的 URL。我只见过像素或 PHP 脚本在这些 URL 中被击中。

当第三方想要执行 JavaScript 代码片段时会发生什么?像下面这样

<script src="http://their.special/javascript.file.js"></script>
<script>
    aFunctionThatExistsInThatSpecialFile();
    if(someFlagSetInThatFile) {
        someObjectInThatFile.setSomeProperty();
    }
    someOtherFunction();
</script>

或者它看起来像

var myVar = document.getElementById('someID');
//... more JavaScript

该片段可以做任何它想做的事情,比如写出一个 cookie 或其他东西。

您不能将其加载为img. 您不应该这样做,document.write因为展示事件可能会在页面加载后触发。Adocument.write可以擦除整个页面。

那么如何使用 JavaScript 来支持这种印象跟踪器呢?

4

2 回答 2

0

如果您查看 AdWords 之类的内容,通常会看到如下内容:

<script src="//google.com/something/something.js"></script>
<script>
    account_name = "name";
    dollar_value = 37.05;
    fire_adWords_tracking();
</script>

这根本不是它的样子。
但它就是这样做的——基本上。

然而,这些天来,更多的程序正在做类似的事情(考虑 GA):

var tracker = tracker || []; // if tracker doesn't exist, make it an array
tracker.push(["account", "12345H"],
             ["amount", "37.05"],
             ["product_name", "thingy"]);

然后在页面底部,加载一个脚本,该脚本将查找tracker并制作图像以跟踪所有数据:

(function () {
    var s = document.createElement("script"),
        parent = document.getElementsById("script")[0].parentNode,
        src = "//google.com/wherever.js";
    s.src = src;
    parent.appendChild(s);
}());

每当它加载时,它都会遍历交给它的一堆东西,并将它们一个一个地放在一起。

如果您谈论的是在“印象”上触发它,那么您(或您公司的利益相关者——营销或 IT,或分析领域的高层)将必须定义“印象”对他们意味着什么。

对于很多人来说,只需将它放在页面底部,以便在页面加载时触发(即:页面的“印象”)就足够了。

于 2012-11-20T17:57:09.583 回答
0

尝试类似:

<script src="http://their.special/javascript.file.js"></script>
<script>
    aFunctionThatExistsInThatSpecialFile();
    if(someFlagSetInThatFile) {
        someObjectInThatFile.setSomeProperty();
    }
    someOtherFunction();
</script>

在 HTML5 中不允许在<script>具有in 属性的标记内执行代码,并且可以在某些浏览器中执行,但非常不可靠且非常不鼓励。src

于 2012-11-20T17:49:47.820 回答