Подтвердить что ты не робот

Всплывающее открытое положение в хромированном состоянии

Когда я использую firefox, а затем используя window.open('blah.com','blah','left=-30,top=-300');, всплывающее окно открывается на моем втором дисплее выше моего первого, но в chrome всплывающее окно открывается только в left=0,top=0. Есть ли причина, почему хром делает это и как я могу исправить эту проблему?

Спасибо!

4b9b3361

Ответ 1

Я думаю, что это ошибка в Chrome, если честно, но я не знаю об исправлении на данный момент, поскольку сам я новичок в JavaScript. Извините, я уверен, что это не тот ответ, который вы искали.

Ответ 2

Это ошибка в Chrome, когда всплывающее окно открывается на вторичном мониторе. Люди Chrome, похоже, говорят, что это проблема с безопасностью (хотя проблема с безопасностью выше меня).

Теперь, открыв всплывающее окно на вторичном мониторе NON-EXISTENT, я понял, что это проблема безопасности, но... что угодно.

Вот ссылка на дискуссию по этому вопросу:

https://code.google.com/p/chromium/issues/detail?id=137681

Ответ 3

var w = 300;
var h = 300;
var left = (window.screen.width/2)-(w/2);
var top = (window.screen.height/2)-(h/2);

var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h);
win.moveTo(left, top);

для Chrome...

Ответ 4

Я знаю, что это старый пост, но здесь мое решение. Просто используйте свойства "avail *" экранного объекта:

var windowSize = {
    width: 500,
    height: 500,
};
var windowLocation = {
    left:  (window.screen.availLeft + (window.screen.availWidth / 2)) - (windowSize.width / 2),
    top: (window.screen.availTop + (window.screen.availHeight / 2)) - (windowSize.height / 2)
};
window.open(http://example.com, '_blank', 'width=' + windowSize.width + ', height=' + windowSize.height + ', left=' + windowLocation.left + ', top=' + windowLocation.top);

В принципе, "window.screen.availLeft" дает вам другую ширину экранов, поэтому вы можете добавить, что вы обычный расчет центра.

Ответ 5

Недавно я заметил, что Chrome не позволяет вам скрывать окна за пределами области отображения по соображениям безопасности.

Ответ 6

Я знаю, что этот пост старый, но у меня были схожие проблемы:

var w = 300;
var h = 300;
var left = (window.screen.width/2)-(w/2);
var top = (window.screen.height/2)-(h/2);

var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);


- центрирует всплывающее окно в Firefox, но не в Chrome. Кроме того, обратите внимание, что это не вне области отображения...

Ответ 7

Как пользователь веб-сайтов, а не как автор JavaScript и т.д. В результате всплывающее окно растягивается и выходит за пределы физического окна. В результате я не могу взять верх, чтобы переместить окно или распечатать отображаемый PDF файл. Единственное решение - alt-F4, выйти из страницы и открыть ее в Edge.