gpt4 book ai didi

javascript - 由于结果不一致,可以替代 document.createElement 来触发像素(请求图像)

转载 作者:行者123 更新时间:2023-11-28 07:27:23 24 4
gpt4 key购买 nike

我的服务器上有 JS 脚本,它将触发跟踪像素并提供适当的文件。

第三方加载我的脚本作为源,并在点击其网站时调用“getFile( { ... } ) 函数。

在我的 JS 中,我使用了这个,但我在 Safari mac、PC 和 IE(各种)上没有得到一致的结果。看起来它没有正确加载。

function getFile(options){

if ( (!options.email) || (!options.ref3) || (!options.ref4)){
return false;
}

downloadApp();
var url="http://www.example.com/mysrc?image=1";
for (var f in options) {
url=url+"&"+f+"="+encodeURIComponent(options[f]);
};
var oImg=document.createElement("img");
oImg.setAttribute('src', url);
oImg.setAttribute('alt', 'na');
oImg.setAttribute('height', '1px');
oImg.setAttribute('width', '1px');
document.body.appendChild(oImg);

}

看来 document.body.appendChild 在 IE/Safari 中并没有像我们希望的那样工作。

替代方案是什么?

--更新:此脚本将触发,但是报告 example.com 域将无法将 cookie 写入浏览器(用于跟踪目的)。似乎 safari 没有解决办法。他们只是禁止这种行为。

IE 似乎需要 P3P header 。

最佳答案

Safari 没有解决办法。 Safari 需要打开一个窗口或选项卡以便第三方设置 cookie。除非窗口或选项卡打开,否则即使是 Iframe 也无法正常工作。

他们断然禁止第三方网站设置 cookie。

另一方面,IE 可以通过发送 P3P header 轻松修复。

关于javascript - 由于结果不一致,可以替代 document.createElement 来触发像素(请求图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29485338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com