Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Spec_Mov_3k_4k_Lect.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.46 Mб
Скачать

Динамическое формирование документа

Для динамического (программного) формирования документа используются методы объекта document – open, close, clear, write, writeln. Особенности применения методов будут даны в виде примечаний к примерам (см., также, Лекцию 17).

Пример

Создание нового окна с загрузкой документа, адресуемого некоторой ссылкой.

………………………….

</script language = “JavaScript”>

<!--

function onSomeButtonClick()

{

var myURL = ”http://www.gold.net/users/age17/index.htm”;

window.open(myURL, “SomeWinHeading”, “height = 300”);

}

//-->

</script>

…………………………..

Пример

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

<html>

<head>

<script language="JavaScript">

<!--

function Create()

{

helpWin=window.open("", "HelpWindow", "width=600, height=400");

helpWin.document.writeln("<h1>Help Window</h1>");

}

//-->

</script>

</head>

<body>

<form>

<input type="button" value="Open a Window" onClick="Create()">

</form>

</body>

</html>

Если имеется ссылка на созданное окно, то отображение в нем нового документа можно выполнить, например, следующим образом, используя свойство (или объект location): helpWin.location = “http://www.unified.com”;

Выполнение методов write, writeln одинаково, за исключением того, что writeln добавляет в конце строки символ перевода строки, что, в общем, не отражается на представлении документа в окне броузера. Если методы выполняются по ходу загрузки документа, то выводимый текст вставляется в документ в тех местах, где располагается скрипт с этими операторами. Если же документ уже загружен, то операторы очищают окно и формируют новый документ. Поэтому рекомендуется весь выводимый текст предварительно объединить в одну строку и выполнить вывод одним оператором.

Пример

В данном примере создается новое окно. В старом окне расположена форма с кнопкой, при нажатии на которую изменяется содержимое поля ввода, созданного в новом окне.

<html>

<script language="JavaScript">

<!-- // Создание нового окна

function CreateWin()

{

win1= window.open("", "Window", "width = 600, height = 600");

var str = "<title>Child Window</title>"+

"<form><input type = 'text' size=20 value='Old Value' name='aname'></form>";

win1.document.open();

win1.document.write(str);

win1.document.close();

win1.focus();

}

//-->

</script>

<body>

<form>

<input type="button" value="NewWindow" onClick="CreateWin()">

<input type="button" value="ChangeValue"

onClick="win1.document.all.aname.value ='New Value'; win1.focus();">

</form>

</body>

</html>

Методы open, close примененные к документу необязательны. Первый из них очищает окно и открывает поток для формирования нового документа. Если применяется open, то обязательно применение, парного к нему, метода close. Метод open может содержать параметры, определяющие тип документа и необходимость замены ссылки в списке history предыдущего значения на ссылку на новое открытое окно. Метод open необходим в тех случаях, когда по ходу загрузки некоторого документа проверяются некоторые условия и требуется удаление предварительно сформированной части документа, или когда необходимо указать некоторый тип документа, отличающийся от “text/html”.

Пример

Данный пример отличается от предыдущего только тем, что новое окно создается по мере загрузки документа в старое окно.

<html>

<script language="JavaScript">

<!-- // Создание нового окна

var win1= window.open("", "Window", "width = 600, height = 600");

var str = "<title>Child Window</title>"+

"<form><input type = 'text' size=20 value='Old Value' name='aname'></form>";

// win1.document.open();

win1.document.write(str);

//win1.document.close();

win1.focus();

//-->

</script>

<body>

<form>

<input type="button" value="ChangeValue"

onClick="win1.document.all.aname.value='New Value'; win1.focus();">

</form>

</body>

</html>

Пример

Пример с отображением в окне по ходу загрузки документа и применением оператора закрытия окна.

<html>

<body>

<h1>Некоторый текст для загрузки перед формированием формы</h1>

<script language="JavaScript">

<!--

var str = '<form> <input type="button" value="Close Button"

onClick="self.close();"</form>';

document.write(str);

document.write("<br>Добавим еще текст!");

//-->

</script>

<h2>Некоторый текст после формирования формы</h2>

</body>

</html>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]