Sto cercando di aprire una nuova finestra in questo modo:Aprire una nuova finestra dopo un evento click non funziona in Safari, Chrome
$('#wrapper').click(function() {
window.setTimeout(function() {
//alert('hi');
window.open("http://example.com", "ExternalLinks", "resizable=yes, scrollbars=yes, status=yes");
}, 1000);
});
Questo funziona in Firefox, ma non in Chrome o Safari (finora, Ho appena provato su un Mac). Il alert()
funziona in tutti i browser, quindi sembra esserci qualcosa che impedisce l'esecuzione di window.open
in Safari/Chrome. Inoltre, se rimuovo lo setTimeout
e chiamo semplicemente il window.open
, allora funziona su tutti e 3 i browser. È quasi come se lo window.open
sia nidificato troppo lontano dall'evento click
, quindi non funziona in Safari/Chrome.
Quindi, sai, ho un sito Web all-Flash e sto cercando di aprire i link esterni in una nuova finestra, quindi sto leggendo il tag dell'hash nell'URL (ad esempio esempio: htp: // .com/#/facebook /) e se corrisponde a determinati elementi, quindi sto chiamando window.open
per aprire un URL specifico. Non ho accesso alla sorgente Flash, altrimenti potrei gestirlo lì.
Qualche idea?
Vale anche la pena notare che, mentre Safari e Chrome hanno questi rigidi popup bloccati integrati e attivati di default, non è che gli altri browser non li abbiano: è solo per altri browser sono add-on o non si accendono automaticamente al momento dell'installazione. –