Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在impression上执行第三方JavaScript代码段_Javascript - Fatal编程技术网

在impression上执行第三方JavaScript代码段

在impression上执行第三方JavaScript代码段,javascript,Javascript,印象跟踪器通常是可以使用newimage().src方法或类似方法点击的URL。我只见过像素或PHP脚本在这些URL中被点击 当第三方希望执行JavaScript代码段时会发生什么情况?像下面这样 <script src="http://their.special/javascript.file.js"></script> <script> aFunctionThatExistsInThatSpecialFile(); if(someFlagS

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

当第三方希望执行JavaScript代码段时会发生什么情况?像下面这样

<script src="http://their.special/javascript.file.js"></script>
<script>
    aFunctionThatExistsInThatSpecialFile();
    if(someFlagSetInThatFile) {
        someObjectInThatFile.setSomeProperty();
    }
    someOtherFunction();
</script>
这个代码片段可以做任何它想做的事情,比如写一个cookie之类的东西

您不能将其作为
img
的源加载。您不应该执行
文档。写入
,因为加载页面后可能会触发impression事件。一个
document.write
可以擦除整个页面

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

试试以下方法:

<script src="http://their.special/javascript.file.js"></script>
<script>
    aFunctionThatExistsInThatSpecialFile();
    if(someFlagSetInThatFile) {
        someObjectInThatFile.setSomeProperty();
    }
    someOtherFunction();
</script>
<script src="//google.com/something/something.js"></script>
<script>
    account_name = "name";
    dollar_value = 37.05;
    fire_adWords_tracking();
</script>

存在于SpecialFile()中的函数;
if(someFlagSetInThatFile){
someObjectInThatFile.setSomeProperty();
}
someOtherFunction();

在HTML5中不允许在具有
src
属性的
标记内执行代码,并且可能在某些浏览器中执行,但这是非常不可靠且非常不鼓励的。如果您查看类似AdWords的内容,您通常会看到如下内容:

<script src="http://their.special/javascript.file.js"></script>
<script>
    aFunctionThatExistsInThatSpecialFile();
    if(someFlagSetInThatFile) {
        someObjectInThatFile.setSomeProperty();
    }
    someOtherFunction();
</script>
<script src="//google.com/something/something.js"></script>
<script>
    account_name = "name";
    dollar_value = 37.05;
    fire_adWords_tracking();
</script>
然后在页面底部,加载一个脚本,该脚本将查找
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,或更高层次的分析人员)必须定义“印象”对他们意味着什么


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

所以我必须在文档中附加一个新的脚本标记?哦,我明白你现在在说什么了。问题不在于标签不起作用。我的问题是,这是一些随机的第三方JavaScript代码片段(它甚至不一定像我的示例中的代码),我想在impression事件中执行它。哦,我明白Musa现在在说什么。我只是写错了脚本标签。问题不在于标记失败。我的问题是,我不知道如何在impression事件上执行此标记。