Ответ 1
Я думаю, что это ошибка в Chrome, если честно, но я не знаю об исправлении на данный момент, поскольку сам я новичок в JavaScript. Извините, я уверен, что это не тот ответ, который вы искали.
Когда я использую firefox, а затем используя window.open('blah.com','blah','left=-30,top=-300');
, всплывающее окно открывается на моем втором дисплее выше моего первого, но в chrome всплывающее окно открывается только в left=0,top=0
. Есть ли причина, почему хром делает это и как я могу исправить эту проблему?
Спасибо!
Я думаю, что это ошибка в Chrome, если честно, но я не знаю об исправлении на данный момент, поскольку сам я новичок в JavaScript. Извините, я уверен, что это не тот ответ, который вы искали.
Это ошибка в Chrome, когда всплывающее окно открывается на вторичном мониторе. Люди Chrome, похоже, говорят, что это проблема с безопасностью (хотя проблема с безопасностью выше меня).
Теперь, открыв всплывающее окно на вторичном мониторе NON-EXISTENT, я понял, что это проблема безопасности, но... что угодно.
Вот ссылка на дискуссию по этому вопросу:
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...
Я знаю, что это старый пост, но здесь мое решение. Просто используйте свойства "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" дает вам другую ширину экранов, поэтому вы можете добавить, что вы обычный расчет центра.
Недавно я заметил, что Chrome не позволяет вам скрывать окна за пределами области отображения по соображениям безопасности.
Я знаю, что этот пост старый, но у меня были схожие проблемы:
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. Кроме того, обратите внимание, что это не вне области отображения...
Как пользователь веб-сайтов, а не как автор JavaScript и т.д. В результате всплывающее окно растягивается и выходит за пределы физического окна. В результате я не могу взять верх, чтобы переместить окно или распечатать отображаемый PDF файл. Единственное решение - alt-F4, выйти из страницы и открыть ее в Edge.