Javascript. Работа с методами объектов window и document (лабораторная работа)

 

  Главная      Тесты

 

     поиск по сайту           правообладателям           

 

 

 

 

 

 

 

 

 

 

Javascript. Работа с методами объектов window и document (лабораторная работа)

 

 

Javascript. Работа с методами объектов window и document. Размещение кода javascript  во внешнем файле

Цель работ: поработать  с методами объектов window и document, научиться размещать код javvascript во внешнем файле и обращаться к нему.

Краткая теория.

Метод document.open() — открывает поток для вывода в текущий документ строк с помощью методов document.write() и document.writeln(). Данный метод (document.open()) обычно применяется для формирования нового документа. Вызов данного метода в текущем документе приводит к его полной очистке. После того как документ открыт методом document.open() и сформирован с помощью методов document.write() и document.writeln(), его необходимо закрыть методом document.close().

Метод document.close() - предназначен для закрытия потока, который Вы открыли с помощью метода document.open().

Метод open() предназначен для создания новых окон. В общем случае его синтаксис выглядит следующим образом:

myWin = window.open("URL","имя_окна","параметр=значение,параметр=значение,...", заменить);

Первый аргумент задает адрес страницы, загружаемой в новое окно (можно оставить пустую строку, тогда окно останется пустым). Второй аргумент задает имя окна, которое можно будет использовать в атрибуте TARGET контейнеров <A> и <FORM>.

Параметры метода window.open()

width число Ширина окна в пикселах (не менее 100)

height число Высота окна в пикселах (не менее 100)

left число Расстояние от левого края экрана до левой границы  окна в пикселах

top число Расстояние от верхнего края экрана до верхней границы окна в пикселах

directories yes/no Наличие у окна панели папок (Netscape Navigator)

location yes/no Наличие у окна поля адреса  menubar yes/no Наличие у окна панели меню

resizable yes/no Сможет ли пользователь менять размер окна

scrollbars yes/no Наличие у окна полос прокрутки

status yes/no Наличие у окна поля статуса  toolbar yes/no Наличие у окна панели инструментов

<FORM>

<INPUT TYPE=button VALUE="Простое окно"

 onClick="window.open('', 'test1',

 'directories=no,height=200,location=no,'+

 'menubar=no,resizable=no,scrollbars=no,'+

 'status=no,toolbar=no,width=200');">

 

<INPUT TYPE=button VALUE="Сложное окно"

 onClick="window.open('', 'test2',

 'directories=yes,height=200,location=yes,'+

 'menubar=yes,resizable=yes,scrollbars=yes,'+

 'status=yes,toolbar=yes,width=200');">

</FORM>

window.open("http://ya.ru");

…При запуске откроется новое окно с указанным URL.

win = window.open(url, name, params)

Функция возвращает ссылку на объект window нового окна, либо null, если окно было заблокировано браузером.

Параметры:

url - URL для загрузки в новое окно.

Name - Имя нового окна. Может быть использовано в параметре target в формах. Если позднее вызвать window.open() с тем же именем, то браузеры (кроме IE) заменяют существующее окно на новое.

Params - Строка с конфигурацией для нового окна. Состоит из параметров, перечисленных через запятую. Пробелов в ней быть не должно.

В примере новое окно заполняется содержимым целиком из JavaScript:

var newWin = window.open("about:blank", "hello", "width=200,height=200");

newWin.document.write("Привет, мир!");

А здесь модифицируем содержимое после загрузки:

var newWin = window.open('/', 'example', 'width=600,height=400');

alert(newWin.location.href); // (*) about:blank, загрузка ещё не началась

newWin.onload = function() {

  // создать div в документе нового окна

  var div = newWin.document.createElement('div'),

      body = newWin.document.body;

  div.innerHTML = 'Добро пожаловать!'

  div.style.fontSize = '30px'

  // вставить первым элементом в body нового окна

  body.insertBefore(div, body.firstChild);

}

Пример для выполнения задания1:

<body>

  <script>

    function createNewDocument() {

      var newWindow = window.open('', '', 'width=400,height=500');

      newWindow.document.open();

      newWindow.document.write('<!doctype html>');

      newWindow.document.write('<html lang="ru">');

      newWindow.document.write('<head>');

      newWindow.document.write('<meta charset="utf-8">');

newWindow.document.write('<meta name="viewport" content="width=device-width, initial-scale=1">');

      newWindow.document.write('<title>Новая страница</title>');

      newWindow.document.write('</head>');

      newWindow.document.write('<body>');

      newWindow.document.write('<h1>Документ сформирован с помощью document.write</h1>');

      // для корректной работы Live Server

      newWindow.document.write('</' + 'body>');

      newWindow.document.write('</html>');

    }

  </script>

  <a href="javascript:createNewDocument()">Открыть и сформировать новый документ</a>

</body>

Метод close() позволяет закрыть окно. Если необходимо закрыть текущее, то: window.close(). Если открыли окно с помощью метода window.open(), то из скрипта, работающего в новом окне, сослаться на окно-родитель можно с помощью window.opener . Если необходимо закрыть родительское окно, т.е. окно, из которого было открыто текущее, то:

window.opener.close();

Если необходимо закрыть произвольное окно, то тогда сначала нужно получить его идентификатор: id=window.open(); ... id.close();

Пример изменения окна без закрытия

<html> <head>

<script language="javascript" type="text/javascript">
function open_window(jpg)
{
w = window.open(jpg,'title','status=0, toolbar=0, location=0,menubar=0,directories=0,resizable=0,height=250,width=250');
this.focus();
}
</script>

</head>

<body >

<form action=''out.php">
<input name='image 1' value='open window' type='button' onclick='open_window(“1.jpg”);' /> 
<input name='image 2' value='open window' type='button' onclick='open_window(“2.jpg”);' /> 
</form>

</body> </html>

Если JavaScript-кода много, и код используется в нескольких web-документах , то его выносят в отдельный файл, который, как правило, имеет расширение .js. Чтобы включить в HTML-документ JavaScript-кoд из внешнего файла, нужно использовать атрибут src (source) тега <script>. Его значением должен быть URL-aдpec файла, в котором содержится JS-код, например:

<script src="/scripts/script.js"></script>

Здесь указан абсолютный путь к файлу с именем script.js, содержащему скрипт (из корня сайта). Сам файл должен содержать только JavaScript-кoд, который иначе располагался бы между тегами <script> и </script>.

По аналогии с элементом <img> атрибуту src элемента <script> можно назначить полный URL-aдpec.

primer

<html>

  <head>

    <title>javascript окно</title>

        <script type="text/javascript" src="script.js"></script>

  </head>

  <body>

      <form name="forma13">

          <input type="button" value="win1" onClick="open_w1()">

       </form>

  </body>

</html>

W1

<html>

  <head>

    <title>javascript окно</title>

        <script type="text/javascript" src="script.js"></script>

  </head>

  <body>

      <img src="1.jpg" width="300">

      <input type="button" value="Закрыть"

onClick="close_pict()">

  </body>

</html>

 

script.js

function open_w1() {

  ford=window.open("w1.html", "display_ford",

    "width=400,height=300,status=no,toolbar=no,menubar=no");

}

function close_pict() {

  window.close();

}

 

 

Задания.

1) Используйте внешний css файл стилистическое оформление web-страницы из предыдущих лабораторных работ (body – 100% на100%, золотистый фон, зеленый шрифт 20px. Внешние отступы 0. Стиль оформления заголовка: красный фон, шрифт черный 30 px, поля 10px, текст-по центру, высота секции 20%. Стиль оформления секции контент: черный фон, шрифт белый, поля 10px).

 В заголовке разместите надпись window и document. В секции контент:

разместите кнопку , при нажатии на которую сформируется и откроется новый документ размером 350 на 450,

со стилистическим оформлением для body цвет фона -maroon; полоса прокрутки auto;  цвет шрифта white; размер шрифта 25px. Для селектора header шрифт: Bethoveen;размер шрифта 150%;отступы15px; высота15%; выравнивание по центру. Для селектора content размер шрифта 90%; отступы10px;выравнивание justify; цвет фона black; высота секции 85%

На странице в заголовке (стиль header) Hello new document. В секции контент (стиль content) заголовок первого уровня «Франсуа Вийон» - с помощью document.write.

Далее, слева рисунок 1.png размером 250 на 300. И текст: Я знаю, как на мед садятся мухи,

Я знаю Смерть, что рыщет, все губя.

Я знаю книги, истины и слухи,

Я знаю все, но только не себя

 

2) добавьте кнопку «закрыть окно» в родительский документ и разместите весь код javascript во внешнем файле

 

Требования к отчетам:

1.Цель работ.

2.Кратко теория\методика.

3.Задание и ход выполнения. В отчете представьте код html-документа. Если возможно – скрины с экрана ваших web-страничек.

4.Сделать выводы.

 

 

 

 

 

 

 

 

 

////////////////////////////