2012-05-06 4 views
7

Я использую window.open и вызываю его в документе ready событие, но оно блокируется блокировщиком всплывающих окон в Firefox. Затем я добавил это к функции и сделать вызов этой функции с помощью кнопки, а затем вызвать нажатие кнопки без успеха:'window.open' заблокирован Firefox

$(function(){  
    abcd();  
}); 


function abcd(){ 
    var popup = window.open("http://localhost/johndyer-mediaelement-7ed6c51/demo/index.php","mypopup","width=500,height=300");  
} 

Есть ли какой-то способ, чтобы открыть внешний всплывающее окно или новую вкладку в браузере, когда загружена страница?

+0

FF блокирует всплывающие окна, даже если блокировщик всплывающих окон полностью отключен. Используйте 'about: config' и найдите' popup', чтобы узнать, почему. Я не совсем уверен, однако, что эти настройки действительно делают и как включить неограниченное количество всплывающих окон для определенных приложений, которые в них нуждаются. – Tino

ответ

5

Не открывать всплывал рекламу. Это раздражает.

С другой стороны, если это сообщение пользователь хочет видеть, то вы можете использовать плагин jQuery как Colorbox для отображения зависания модального окна без открытия нового всплывающего окна, которое пользователь может легко близко.

+0

:) это для добавления фоновая музыка для веб-сайта, сайт должен быть полностью перезагружен в пределах страниц, а музыка должна непрерывно воспроизводиться без одного второго промежутка. это моя проблема. Я не могу использовать ajax или iframes :(.Есть любое решение для этого –

+0

@thecoshman это редактирование объективно добавляет (немного) значение. Я бы сказал, просто приветствую помощь! – sehe

+0

@sehe это такая крошечная скобка потенциального значения хотя и чистое количество изменений, внесенных вашим мужчиной! Я действительно имел в виду мой комментарий больше языка в щечке. Очевидно, никакого вреда не было, но мой господин! – thecoshman

9

У Firefox есть куча правил, которые помогают ему решить, должно ли всплывающее окно блокироваться или нет. Обычно, если действие инициализируется щелчком пользователя, firefox позволяет открывать всплывающее окно, но если это делается с помощью «чистого» javascript, он скорее всего заблокирует его.

Вы можете прочитать об этом здесь: http://support.mozilla.org/en-US/kb/Pop-up%20blocker.

Так что, если вы читаете статью внимательно, то заметите, что всплывающие окна инициализирована пользователем щелчком открывается:

<input type="button" value="Click Me"/> 

и JQuery код

$('input').click(function(){window.open("http://google.com");​​​​})​ 

даже с блокировщик всплывающих окон включен. Попробуйте:

http://jsfiddle.net/demee/mQ9eR/

+0

да, это любые хаки для этого;) –

+3

Если бы я знал, как программно отключить блокировщики пауза, я бы стал миллионером. Возможно, вместо использования всплывающего окна на основе браузера попробуйте использовать что-то вроде jQuery dialog http://jqueryui.com/demos/dialog/. Это не будет заблокировано, и это будет быстрее. – demee

+1

:) Это для добавления фоновой музыки для сайта, сайт должен быть полностью перезагружен в пределах страниц, а музыка должна непрерывно воспроизводиться без одного второго промежутка. это моя проблема. Я не могу использовать ajax или iframes :(.Есть какое-либо решение для этого –