Обнаружение кода блокировщика всплывающих окон не работает - PullRequest
0 голосов
/ 15 июня 2010

Я включил блокировку всплывающих окон в FF и Chrome. У меня есть кусок кода, чтобы проверить, работает ли 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;   
}

нормально работает "загрузка" страницы. Но когда я использую его с гиперссылкой, он не работает, всплывающее окно открывается.

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

Ответы [ 2 ]

0 голосов
/ 23 мая 2014

Приведенный ниже код был протестирован в 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();
0 голосов
/ 15 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...