Следующий код открывает новое окно без полос прокрутки в Firefox, IE и Opera.
var options = {
height: 300, // sets the height in pixels of the window.
width: 300, // sets the width in pixels of the window.
toolbar: 0, // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
scrollbars: 0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
status: 0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
resizable: 1, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
left: 0, // left position when the window appears.
top: 0, // top position when the window appears.
center: 0, // should we center the window? {1 (YES) or 0 (NO)}. overrides top and left
createnew: 0, // should we create a new window for each occurance {1 (YES) or 0 (NO)}.
location: 0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}.
menubar: 0 // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}.
};
var parameters = "location=" + options.location +
",menubar=" + options.menubar +
",height=" + options.height +
",width=" + options.width +
",toolbar=" + options.toolbar +
",scrollbars=" + options.scrollbars +
",status=" + options.status +
",resizable=" + options.resizable +
",left=" + options.left +
",screenX=" + options.left +
",top=" + options.top +
",screenY=" + options.top;
// target url
var target = 'some url'
popup = window.open(target, 'popup', parameters);
В Google Chrome новое окно все еще имеет полосы прокрутки. Какие-либо идеи заставить его работать?
Этот стиль должен сделать трюк, добавить его к открытому окну документа:
body{ overflow-x:hidden;overflow-y:hidden; }
Ты не должен удалять полосы прокрутки. Если у меня настроен безумно большой шрифт и я не знаю других способов прокрутки, кроме панелей прокрутки, я не смогу просмотреть содержимое всплывающего окна. То же самое касается и переполнения : скрытого
. Просто не делайте этого, так как нет способа убедиться, что содержимое страницы поместится в точный размер. Панели прокрутки не появляются по умолчанию, если страница не переполнена, так что ваша проблема, скорее всего, ваше всплывающее окно слишком маленькое для страницы, которую вы загружаете в него. Кроме того, большинство людей ненавидят всплывающие окна, так что вы можете попробовать менее навязчивый подход, такие как небольшие, но богато окрашенные окна, чтобы привлечь внимание пользователя.
У него есть полосы прокрутки, потому что ему нужны полосы прокрутки. Ваш контент может быть слишком большим, чтобы отображаться без панелей прокрутки. Рассмотрим возможность обернуть его в элемент (например, div) со стилем="переполнение: скрыто".
.Google Chrome идет дополнительная миля для пользователей путем автоматического захвата многих всплывающих окон и подавления их в область уведомлений в правом нижнем углу браузера, давая пользователю возможность вручную запускать их или нет. Кроме того, Google регулярно отправляет обновления в браузеры, и если всплывающие окна не захвачены Chrome сейчас, это может произойти в будущем.
Кроме того, многие инструменты на системах в настоящее время предотвращают или блокируют всплывающие окна, так что шансы против вашего всплывающего окна на многих уровнях.
Рекомендуется высмеивать всплывающее окно, используя DOM (например, используя DIV
в стиле всплывающего окна). Многие сайты перемещаются таким образом, чтобы обойти блокировщики всплывающих окон.
В Интернете есть много примеров. Например, использование JavaScript для создания всплывающих окон, использование jQuery API для создания всплывающих окон jQuery является слоем JavaScript поверх JavaScript и предоставляет некоторые неявные возможности совместимости с кросс-браузерами.
Вы сможете прокручивать внутри насмешливого всплывающего окна, используя CSS
div {
width:150px;
height:150px;
overflow:scroll;
/* etc... */
}
или подавить его overflow:hidden;