我听说过一些谣言我似乎无法复制。现在我很好奇你们是否有这方面的经验。
我们的分析系统使用JavaScript生成1x1像素的图像。这个“形象”正在记录我们所有访客的行为。
现在考虑以下(简化的)JavaScript代码:
function visitLink (url)
{
var randomNumber = Math.random();
var img = new Image();
img.src = 'http://www.example.com/log?url=' + escape(url) + '&' + randomNumber;
window.open(link.href);
return false;
}
谣言说; window.open可以阻止某些版本的FireFox中img.src的后台加载。
虽然它在我的FireFox版本中有效。我在这看鬼吗?如果不;任何想法如何复制这个问题?
埃里克
答案 0 :(得分:0)
在我的理解中,JavaScript是一种单线程语言,可以从函数的顶部到底部进行解释。
因此,如果应该阻止某些东西,那么它就是窗口的开口而不是图像的加载。我的快速复制确实表明了这种行为。
function visitLink (url)
{
var img = new Image();
img.src = 'http://www.meshfields.com/' + url;
document.getElementById("myImgId").src = img.src;
window.open("http://www.meshfields.com/index.html");
}
标记:
<a href="javascript:visitLink('myBigPicture.jpg');">Link</a>
<img id="myId" src="" />
所有浏览器都没有显示加载图片的问题。在MacOSX上测试Safari,Chrome,Firefox,Opera。但是我显然没有使用你的内部分析系统来生成我的图片。