После того, как я открою окно с помощью window.open, могу ли я изменить его размеры по желанию? - PullRequest
0 голосов
/ 29 октября 2010

Я понимаю, что большинство браузеров блокируют изменение размера окна, но мне было интересно, что, поскольку я являюсь родителем этого недавно открытого окна, буду ли я иметь какие-либо привилегии по поводу изменения его размера не только при Открытом, но и после?я тоже не пытаюсь раздражать пользователей :) Мне нужно синхронизировать 2 окна (одного размера).

Ответы [ 3 ]

1 голос
/ 29 октября 2010

Да, у вас есть контроль, вот пример с этого сайта:

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.layers&&!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>
0 голосов
/ 29 октября 2010

Второй параметр метода window.open позволяет указать имя окна, поэтому я предполагаю, что вы сможете изменить размер окна с помощью JavaScript, ссылаясь на окно по имени, после того, как окно было открыто, да.

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

0 голосов
/ 29 октября 2010

Да, вы можете установить переменную объекта для окна с изменяемым размером.Оставьте второй параметр, имя окна, таким же.Открытое окно будет обновлено.

Посмотрите здесь: Ссылка в значительной степени все функции 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");
...