2011-05-17 1 views
1

Vous pouvez détecter si un popup a été bloqué dans Chrome avec les solutions à cette question: Detect blocked popup in ChromeComment détecter si une fenêtre contextuelle d'un autre domaine a été bloquée dans Chrome?

Cependant, les solutions semblent détecter est une fenêtre pour une page qui est sur le même domaine. Je me demandais s'il y avait un moyen de détecter si le popup de la page sur un autre domaine était bloqué?

var newWindow = window.open('http://www.google.com/'); // this domain is something.com 
if (newWindow) { 
    setTimeout(function() { 
     // Is there a way to detect if newWindow was blocked? 
    }, 500); 
} 

Répondre

3

Vous serez lié par toutes les politiques mêmes d'origine habituelles, et je recommande la lecture sur eux directement: http://en.wikipedia.org/wiki/Same_origin_policy. En bref, vous essayez de faire une communication inter-domaines, ce qui est interdit par le modèle de sécurité du navigateur. Pour contourner cela, il existe des proxies côté serveur, JSONP, Flash, document.domain (mais seulement si c'est deux sous-domaines différents), et une foule de hacks qui fonctionnent avec un succès variable en fonction de vos besoins de support et de ce que vous êtes exactement. essayer de faire. Pouvez-vous nous en dire plus sur les exigences de votre navigateur en matière de support technique? Pouvez-vous utiliser XHR Level 2? Quelle est la page que vous essayez de charger dans la popup?

Questions connexes