У меня есть проблема, которую я пытался выяснить и не смог закончить его, потому что Chrome/FireFox/IE публично не публикует их "правила" для блокировки всплывающих окон когда дело доходит до JavaScript, Flash, и т.д. Я пытаюсь инициировать window.open (), когда пользователь нажимает где угодно на странице. Я попробовал это:
document.onclick = window.open ("http://msn.com");
Но все 3 браузера блокируют всплывающее окно, даже при том, что это - взаимодействие с пользователем.
Если пользователь блокирует всплывающие окна, то это потому, что он не хочет, чтобы такие окна, как ваше, появлялись в ответ на его взаимодействие с пользователем. Если всплывающее окно (в отличие от чего-то более сложного, например, заставить появиться скрытый div) - это то, что вам действительно нужно, то сообщите пользователю, что ему нужно включить всплывающие окна, чтобы взаимодействовать с вашим сайтом (я видел несколько сайтов, делающих это, что меня раздражает, и я считаю это большой черной меткой против сайта, которая побуждает меня искать их конкурентов и альтернативы, но если нет реальной альтернативы, я стисну зубы и временно снова включу всплывающие окна в таких случаях). (Но, do учитывайте, что раздражать пользователей - это не способ завоевать их сердца и умы, поэтому do ищите более приятные альтернативы!)