0

我听说过一些我似乎无法复制的谣言。现在我很好奇你们中是否有人遇到过这个问题。

我们的分析系统使用 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 版本中工作。我在这里看到鬼了吗?如果不; 知道如何复制这个问题吗?

埃里克

4

1 回答 1

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 上测试。但是,我显然没有使用您的内部分析系统来生成我的照片。

于 2010-06-04T18:35:33.460 回答