Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Изменение параметров окна


Автор: Guest 16.8.2004, 00:34
Подскажите плз, что написать в скрипте чтобы изменить параметры окна, надо сделать его без всех менюшек, определенного размера (640х480) и чтоб пользователь не мог его размер менять (растягивать его)...
И чтоб скролбаров не было....

Знаю тока как размер сменить -
window.resizeTo(640,480);

А как остальное сделать ? - ПОМОГИТЕ ПЛИЗЗЗ... !!!

Автор: Sardar 16.8.2004, 00:50
Был такой вопрос... ответа не нашли bored.gif
Единственный способ открыть окно с параметрами и из него закрыть родительское окно. Но как бы тебя как popup е забили бы... smile.gif

Автор: Guest 16.8.2004, 01:14
Мдаа... прискорбно...

Sardar спасибо за ответ smile.gif

Автор: korob2001 16.8.2004, 04:06
Если нового, то может этот код поможет? Или имеется ввиду текущее окно?
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Новое окно</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" defer type="text/javascript">
 <!--//
  function myWin() {
           var name = document.f1.name.value;
  if ( name == '' ) {
       window.alert("Вы не указали имя!");
    return false;
  }
           var mess = "Hello, " + name + "!";
  winObj = window.open("","","width=640 height=480 resize=no");
  winObj.document.write("<html><body>");
  winObj.document.write("<h1>" + mess + "</h1>");
  winObj.document.write("<form><input type='button' value='Закрыть окно' onClick='window.close()'></form>");
  winObj.document.write("</body></html>");
  winObj.document.close();
  }
 //-->
</script>
</head>

<body>
<form name="f1">
  <b>Ваше имя: </b><input type="text" size="30" name="name">
   <input type="button" onClick="myWin()" value="Открыть окно">
</form>
</body>
</html>


Удачи.

Автор: Sardar 16.8.2004, 12:06
korob2001 собстна только эта строчка здесь по делу smile.gif
Код
winObj = window.open("","","width=640 height=480 resize=no");

И привыкайте писать не в ИЕ стиле, используйте DOM.

Автор: Guest 16.8.2004, 12:29
Нового то в любом справочнике написано window.open(....
В том то и проблема, что текущего...

Автор: korob2001 16.8.2004, 12:39
Цитата

И привыкайте писать не в ИЕ стиле, используйте DOM.

А у меня этот пример и в Navigator'e7.1 работает, а остальные браузеры я даже не учитываю. Если кто-то юзает текстовый браузер без поддержки JavaScript, то я считаю это его личные трудности. Может я и не прав.

Автор: Sardar 16.8.2004, 12:53
korob2001 извиняюсь, просто быстро просмотрел код, не увидел стандартных getElementyById i getAttribute smile.gif
Вот эту строчку надо поправить:
Цитата
var name = document.forms.f1.name.value;

Автор: korob2001 17.8.2004, 00:00
Sardar
Я вообще-то не очень хорошо знаю JavaScript. Если не трудно поясни. Помоему ты хотел показать такой вариант:
Код

var name = document.forms[0].name.value;

Или это я не врубаюсь?

Автор: ElectricalStorm 17.8.2004, 12:35
Цитата

Подскажите плз, что написать в скрипте чтобы изменить параметры окна, надо сделать его без всех менюшек, определенного размера (640х480) и чтоб пользователь не мог его размер менять (растягивать его)...
И чтоб скролбаров не было....

Знаю тока как размер сменить -
window.resizeTo(640,480);

А как остальное сделать ? - ПОМОГИТЕ ПЛИЗЗЗ... !!!


Код

никак

Автор: korob2001 17.8.2004, 18:57
Вот такой код, похоже то, что тебе нужно. Но он не работает в IE. Тестировал в NetscapeNavigator7.1, так же нужна поддержка JavaScript1.2.
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript1.2" defer type="text/javascript">
 <!--//
  function changeWin() {
           window.statusbar.visible = false;
           window.menubar.visible = false;
           window.locationbar.visible = false;
           window.personalbar.visible = false;
           window.scrollbars.visible = false;
           window.toolbar.visible = false;
           window.outerWidth = 300;
           window.outerHeight = 300;
 
           // Есть такой метод, но я не знаю что нужно передать в него
           // может кто-нибудь знает, подскажите.
           // Здесь нужно передать что-то что бы отключить изменение размера.
           window.setResizable();
  }
 //-->
</script>
</head>

<body>
<form name="form1">
 <input type="button" name="myButton" value="Изменить параметры" onClick="changeWin()">
</form>
</body>
</html>

Кто знает что нужно передать методу window.setResizable() для отключения возможности изменениея размеров окна пожалуйста подскажите. Я в JavaScript не силён.

Удачи.

Автор: Sardar 18.8.2004, 13:59
Цитата(korob2001 @ 16.8.2004, 23:00)
var name = document.forms[0].name.value;

В контейнере forms можно обращатся к элементам поименно.
За предидущий код большие спасибы smile.gif Работает только в Gecko браузерах, столкнулся с полным отсутсвием документации. Где ты это нашел?

Автор: korob2001 18.8.2004, 17:14
Цитата
В контейнере forms можно обращатся к элементам поименно.

Большое спасибо.
Цитата
Где ты это нашел?

Вообще натолкнулся совершенно случайно в книге "JavaScript Энциклопедия пользователя" авторы: Ричард Вагнер и Аллен Вайк. В этой книге есть описание методов и свойств практически всех объектов, таких как ( Window, Document, Frame, History, Area, Form и т.д. ). Но там не было указано какой браузер их поддерживает. После того как увидел что IE выдаёт ошибку, написал такой код:
Код

<script language="JavaScript1.1" defer type="text/javascript">
 <!--//
     var myObj = window;
     var objInfo = "";
     document.write("<b>Имена и значения всех свойств объекта Window:</b>".fontcolor("#00aa00") );
     document.write("<hr size='0' width='50%' align='left'>");
     for ( var objName in myObj ) {
            objInfo = objName + " = " + myObj[ objName ];
            document.write( objInfo + "<br>" );
     }
 //-->
</script>

После чего убедился что действительно навигатор обладает гораздо большим кол-вом методов и свойств, по сравнению с IE.

Sardar
Ты еще не разобрался с методом setResizable(). Что в него нужно передать что бы отключить возможность изменять размер окна? Если разберёшбся, напиши пожалуйста, как им пользоваться, уже просто самому интересно. Я правда тоже пороюсь в своих книгах, если найду дам знать.

Автор: GoodBoy 18.8.2004, 17:23
window.setResizable(true|false) - Метод разрешает или запрещает пользователю изменять размеры окна. Принимает единственный параметр. Поддерживаеся NN начиная с 4.0.


А вообще советую преобрести книгу Владимира Дронова "JavaScript в Web-дизайне". Издательство - BHV, серия - МАСТЕР практическое руководство.

А пока не купили, если что - обращайтесь!!!! :-))))))))))))))))))

Автор: korob2001 18.8.2004, 17:35
GoodBoy
Я тоже так думал, а затем попробовал написать так: window.setResizable(false);
Ничего не вышло, размер изменяется. В чём проблема?

Автор: Cache'Var 23.8.2004, 18:30
А попробуйте такую фичу. Никаких тебе лишних елементов....
Код

var win = window.open(url, "", "fullscreen=1");
win.resizeTo(640, 480);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)