我想完全了解此像素触发时发生的情况。我知道该函数的前两行正在等待页面加载,然后它开始在URL中创建脚本并开始发送回数据,但是我想知道其中每一部分的含义和目的。详细的代码。
我已经查看了部分代码(setTimeout,readyState等)以了解其功能,但是一些更详细的部分(即!/ loaded | complete / .test等)我无法找到任何信息。
<script type="text/javascript">
adroll_adv_id = "DEMOADVERTISEABLEXYZJK";
adroll_pix_id = "FJKAIW3JSIFEKS93JFKDW3";
(function () {
var _onload = function(){
if (document.readyState && !/loaded|complete/.test(document.readyState)){setTimeout(_onload, 10);return}
if (!window.__adroll_loaded){__adroll_loaded=true;setTimeout(_onload, 50);return}
var scr = document.createElement("script");
var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com");
scr.setAttribute('async', 'true');
scr.type = "text/javascript";
scr.src = host + "/j/roundtrip.js";
((document.getElementsByTagName('head') || [null])[0] ||
document.getElementsByTagName('script')[0].parentNode).appendChild(scr);
};
if (window.addEventListener) {window.addEventListener('load', _onload, false);}
else {window.attachEvent('onload', _onload)}
}());
</script>