Firefox:window.open阻止加载img.src

时间:2010-06-04 09:17:29

标签: javascript image firefox window.open

我听说过一些谣言我似乎无法复制。现在我很好奇你们是否有这方面的经验。

我们的分析系统使用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版本中有效。我在这看鬼吗?如果不;任何想法如何复制这个问题?

埃里克

1 个答案:

答案 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。但是我显然没有使用你的内部分析系统来生成我的图片。