2010-06-04 7 views
0

J'ai entendu quelques rumeurs Je ne peux pas sembler répliquer. Et maintenant je suis curieux de savoir si l'un d'entre vous a des expériences avec ce problème.Firefox: window.open empêche img.src de chargement

Notre système d'analyse utilise JavaScript pour générer une image de 1x1 pixels. Cette 'image' enregistre tout le comportement de nos visiteurs.

Considérons maintenant le code Javascript suivant (simplifié):

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; 
} 

Rumeur dit; window.open peut bloquer le chargement en arrière-plan de img.src dans certaines versions de FireFox.

Cela fonctionne dans ma version de FireFox. Est-ce que je vois des fantômes ici? Si non; une idée de comment reproduire le problème?

Erik

Répondre

0

Dans ma compréhension JavaScript est un langage singlethreaded et interprète de haut en bas de votre fonction. Par conséquent, si quelque chose doit être bloqué, c'est l'ouverture de la fenêtre et non le chargement de l'image. Un rapide reproche du mien montre en effet ce comportement.

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"); 
    } 

Markup:

<a href="javascript:visitLink('myBigPicture.jpg');">Link</a> 

<img id="myId" src="" /> 

Tous les navigateurs ne présentent aucun problème avec le chargement de l'image. Testé sur Safari, Chrome, Firefox, Opera sur MacOSX. Cependant, je n'ai apparemment pas utilisé votre système d'analyse interne pour générer ma photo.