#javascript #resize #window
#javascript #изменение размера #окно
Вопрос:
Я понимаю, что большинство браузеров блокируют изменение размера окна, но мне было интересно, поскольку я являюсь родителями этого вновь открытого окна, будут ли у меня какие-либо привилегии изменять его размер не только при открытии, но и после?
Я также не пытаюсь раздражать пользователей 🙂 Мне особенно нужно синхронизировать 2 окна (одинакового размера).
Комментарии:
1. В настоящее время в большинстве браузеров изменение размера окна отключено.
Ответ №1:
Да, у вас есть контроль, вот пример с этого сайта:
http://www.javascriptkit.com/javatutors/advwin4.shtml
<script type="text/javascript">
var mylocation="../index.shtml"
var winheight=100
var winsize=100
var x=5
function go(){
win2=window.open("","","scrollbars")
if (!document.layersamp;amp;!document.all){
win2.location=mylocation
return
}
win2.resizeTo(100,100)
win2.moveTo(0,0)
go2()
}
function go2(){
if (winheight>=screen.availHeight-3)
x=0
win2.resizeBy(5,x)
winheight =5
winsize =5
if (winsize>=screen.width-5){
win2.location=mylocation
winheight=100
winsize=100
x=5
return
}
setTimeout("go2()",50)
}
</script>
<a href="javascript:go()" onMouseover="window.status='open window';return true" onMouseout="window.status=''" >Open window</a>
Комментарии:
1. Что ж, я думаю, мне просто повезло, что мне довелось протестировать в Opera и Chrome — двух браузерах, где это не работает 🙂
2. кто-нибудь знает способ, которым Chrome и opera учитывают это? (Я предполагаю, что они приняли решение «не раздражать пользователя» и отключили эту функциональность)
3. Попробуйте прочитать этот сайт: howtocreate.co.uk/perfectPopups.html — в нем много связанной информации — разные браузеры, изменение размера и перепозиционирование
Ответ №2:
Второй параметр window.open
метода позволяет вам указать имя окна, поэтому я предполагаю, что вы сможете изменять размер окна с помощью JavaScript, ссылаясь на окно по имени, после того, как окно было открыто, да.
Я не слишком разбираюсь в JavaScript, поэтому не могу сразу предоставить письменный пример, но теоретически это должно быть возможно.
Ответ №3:
Да, вы могли бы установить переменную feature, чтобы окно могло изменять размер. Оставьте 2-й параметр, название окна, прежним. Открытое окно будет обновлено.
Взгляните сюда: Ссылка практически вся функциональность window.open описана в этой статье.
Итак, что-то вроде:
window.open ("www.example.com", "mywindow","width:100,height:100");
//something happens here, so you need to resize the window
window.open ("www.example.com", "mywindow","width:250,height:250");
Комментарии:
1. Дело в том, что мне нужно изменить размер окна с помощью javascript.
2. winHandle.resizeTo(600,400).. за исключением того, что resizeTo не работает в большинстве браузеров. Если я смогу заставить это работать хотя бы в FF и IE, это было бы началом.
3. @Mike — Я верю, что это может сработать. Второй параметр в .open() — это название окна. Если вы оставите это имя прежним и откроете другое окно, новое содержимое откроется в уже открытом окне (с этим именем). Придайте ему новую высоту и ширину и откройте его снова. (Хотя я не знаю, каковы ваши требования).
4. В списке свойств следует использовать знаки равенства, а не двоеточия, т.е.
width=100,height=100
и неwidth:100;height:100
.