Как правильно сделать window.open чтобы он не блокировался в браузерах?

Если вызывать метод

var params = (
    'width=' + width +
    ',height=' + height +
    ',left=' + left +
    ',top=' + top +
    ',scrollbars=no',
        '_blank'
);

window.open(url, 'popup', params);


То браузер на телефоне, сначала открывает это окно, потом резко закрывает и предлагает выбор в чем открыть снова.
Т.е. по факту он дважды открывает окно, в первый раз открывает и закрывает, а при открытии окна второй раз он теряет уникальность! Как убрать этот баг?

ВНИМАНИЕ! Window.open открывается по клику, а не программно, т.е. проблема не в блокировании самими браузером.
  • Вопрос задан
  • 605 просмотров
Пригласить эксперта
Ответы на вопрос 2
@shagguboy
сразу в onclick это делать. а не в других местах
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Может быть дело в том, что:
var params = ('width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',scrollbars=no', '_blank');
//Запятая перед блэнком выступает в роли оператора. Иными словами:
//var params = '_blank';


И вообще, телефон как-то так и должен поступать, ведь открыть новое окно мобильный браузер не может - лишь новую вкладку. Думаю, _blank насильно заставляет делать первое, в связи с чем и возникает описанное вами действо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы