Я пытаюсь открыть новое окно следующим образом:
$('#wrapper').click(function() {
window.setTimeout(function() {
//alert('hi');
window.open("http://example.com", "ExternalLinks", "resizable=yes, scrollbars=yes, status=yes");
}, 1000);
});
Это работает в Firefox, но не в Chrome или Safari (пока я только что проверил на Mac).alert()
работает во всех браузерах, поэтому, похоже, что-то препятствует выполнению window.open
в Safari / Chrome.Кроме того, если я удаляю setTimeout
и просто вызываю window.open
, тогда он работает во всех 3 браузерах.Это почти как если бы window.open
был вложен слишком далеко от события click
, тогда он не работает в Safari / Chrome.
Итак, вы знаете, у меня есть полностью Flash-сайт, и яя пытаюсь открыть внешние ссылки в новом окне, поэтому я читаю хеш-тег в URL (например, htp: //example.com/#/facebook/), и если он соответствует определенным элементам, то язвоню window.open
, чтобы открыть определенный URL.У меня нет доступа к источнику Flash, или я бы справился с этим.
Есть идеи?