Estoy intentando abrir una nueva ventana de este modo:Abre nueva ventana después de un evento de clic no funciona en Safari, Chrome
$('#wrapper').click(function() {
window.setTimeout(function() {
//alert('hi');
window.open("http://example.com", "ExternalLinks", "resizable=yes, scrollbars=yes, status=yes");
}, 1000);
});
Esto funciona en Firefox, pero no en Chrome o Safari (hasta ahora, Acabo de probar en una Mac). El alert()
funciona en todos los navegadores, por lo que parece haber algo que impide que el window.open
se ejecute en Safari/Chrome. Además, si elimino el setTimeout
y solo llamo al window.open
, entonces funciona en los 3 navegadores. Es casi como si el window.open
está anidado demasiado lejos del evento click
, entonces no funciona en Safari/Chrome.
Así que ya sabes, tengo un sitio web totalmente Flash y estoy tratando de obtener enlaces externos para abrir en una nueva ventana, así que estoy leyendo la etiqueta hash en la URL (por ejemplo, htp: // example .com/#/facebook /) y si coincide con ciertos elementos, entonces llamo al window.open
para abrir una URL específica. No tengo acceso a la fuente Flash, o podría manejar esto allí.
¿Alguna idea?
También vale la pena señalar que, si bien Safari y Chrome tienen estos bloqueadores de popup estrictos incorporados y activados de forma predeterminada, no es que otros navegadores no los tengan, es solo eso para otros navegadores son complementos o no se encienden automáticamente en el momento de la instalación. –