2010-06-15 2 views
0

Я включил блокировщик PopUp в FF и Chrome. У меня есть кусок кода, чтобы проверить PopUp работает как:PopUp обнаружение блокатора не работает

function checkPopUp() 
{ 
    var myTest = window.open("about:blank","","directories=no,height=1,width=1,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,top=0,location=no"); 
    var popUpsBlocked = ''; 
    if (!myTest) { 
    popUpsBlocked = true;  
    } else { 
    popUpsBlocked = false; 
    } 
    return popUpsBlocked; 
} 

его работает отлично «OnLoad» страницы. Но когда я использую его с гиперссылкой onclick, его не работает всплывающее окно открывается.

<a onclick="checkPopUp()" href="#">Test</a> 
+0

Отключить тему комментария: вы можете отформатировать код как код, выбрав его и используя кнопку «код» на панели (с нулями и единицами на ней). – bezmax

+0

Thx я буду использовать его в будущем – user367134

ответ

0

Браузеры позволяют всплывать во время циклов событий «click». Различные браузеры имеют разные параметры конфигурации под пользовательским контролем, но обычно поведение по умолчанию заключается в том, что «щелчок» рассматривается как пользователь, охотно запрашивающий функциональность со страницы.

+0

Thx для комментариев ур. Но когда я нажимаю кнопку, функция окна PopUp работает, но в той же функции есть запрос ajax, и в ответ я вызываю одну и ту же функцию всплытия, не открывая ........ Почему так ? – user367134

0

Этот код был протестирован в FF29.0, IE9, Chrome35.0, Safari, и лучшая часть - это работает !!!

var popupBlocker = { 

    isPopupBlocked: function (width, height) { 
       setTimeout(function() { 
        var popup = window.open(""); 
        if (!popup) { 
         return false; 
        } 
        else { 
         popup.document.open(); 
         popup.document.write("<html><body onload='window.close();'></body></html>") 
         popup.document.close(); 
         return true; 
        } 
       }, 100); 
      } 

     }; 

    popupBlocker.isPopupBlocked();