2010-08-30 8 views
0

J'essaie d'ouvrir un emplacement dans une nouvelle fenêtre (onglet) en utilisant window.open. Cela ne fonctionne pas en chrome. D'abord, j'ai essayé avec window.open (url, name), cela n'a pas fonctionné, mais cela fonctionne dans tous les autres navigateurs. Ensuite, j'ai utilisé quelque chose comme ceci,window.open ne fonctionne pas en chrome 6

var w = window.open("about:blank"); 
w.opener = null; 
w.document.location = url; 

Cela ouvre l'URL dans le même onglet, mais pas dans l'onglet séparé.

+0

La petite icône de bloqueur de popups a sauté mes yeux. Merci les gars ... :) – Harsha

Répondre

4

La plupart des fenêtres contextuelles qui n'ont pas eu lieu en réponse à un événement utilisateur seront bloquées. J'ai tapé window.open ("google.com", "_blank") dans la console et j'ai eu la fenêtre bloquée sur la barre d'adresse

1

Est-ce comme ça

window.open(url, "_blank"); 

Rappelez-vous, le 2ème paramètre est analogue à l'attribut target d'une balise d'ancrage. Etes-vous sûr que votre popup n'est pas bloqué?

+0

Peter, ceci ne fonctionne pas :(Je n'utilise pas de balise d'ancrage, c'est un flash, lorsqu'il est cliqué, l'url doit ouvrir dans un nouvel onglet – Harsha

+1

Chrome est probablement le bloquer, puis –

0

Essayez ceci. Travaux à IE8, échoue dans FF quand popups sont bloqués

<html> 
<head> 
<script type="text/javascript"> 
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click) 
HTMLElement.prototype.click=function(){ // event by Jason Karl Davis 
var evt = this.ownerDocument.createEvent('MouseEvents'); 
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null); 
this.dispatchEvent(evt); 
} 
function loadAndClick(url,target) { 
    var lnk = document.createElement("a"); 
    lnk.href=url; 
    lnk.target=target||"_blank" 
    lnk.id="myLink" 
    lnk.onclick=function() { 
    var w = window.open(this.href,this.target); 
    return (w)?false:true; 
    } 
    document.body.appendChild(lnk); 
    document.getElementById('myLink').click(); 
// lnk.click(); 
} 
window.onload=function() { // or call getURL("javascript:loadAndClick('http://www.google.com')"); 
    loadAndClick("http://www.google.com"); 
} 
</script> 
</head> 
<body> 
</body> 
</html> 
0

Créer une page de redirection (par exemple Redirect.aspx).

window.open('Redirect.aspx?URL=http://www.google.com', '_blank'); 

Sur la page Redirect.aspx, redirection vers l'URL spécifiée dans le QS ...

Cela a fonctionné un régal pour moi avec blocage Chrome mes nouvelles fenêtres.

+0

Les fichiers locaux ne sont pas ignorés par le bloqueur de fenêtres contextuelles, c'est-à-dire que l'ouverture d'un fichier sur /some-file.php déclenche toujours le blocage des popups de Chrome. –

Questions connexes