Стефан Кох - Введение в JavaScript для Мага
- Название:Введение в JavaScript для Мага
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:1997
- ISBN:http://rummelplatz.uni-mannheim.de/~skoch/
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стефан Кох - Введение в JavaScript для Мага краткое содержание
Введение в JavaScript для Мага - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
И на примере третьей ссылки Вы можете видеть, как с помощью target можно избавиться от фреймов.
А если Вы хотите избавиться от фреймов с помощью функции load() , то Вам необходимо написать в ней лишь parent.location.href= url.
Итак, который способ Вам следует выбрать? Это зависит от вашего скрипта и от того, что собственно Вы хотите сделать. Параметр target использовать очень просто. Вы можете воспользоваться им, если хотите всего лишь загрузить новую страницу в другой фрейм. Решение на основе языка JavaScript (примером этого служит первая ссылка) обычно используется, если Вы хотите, чтобы при активизации ссылки произошло несколько вещей. Одна из наиболее часто возникающих проблем такого рода состоит в том, чтобы разом загрузить две страницы в два различных фрейма. И хотя Вы могли бы решить эту задачи с помощью параметра target , использование функции JavaScript в этом случае более предпочтительно. Предположим, мы имеем три фрейма с именами frame1, frame2 и frame3 .Допустим посетитель активирует ссылку в frame1 . И мы хотим, чтобы при этом в два других фрейма загружались две различные web-страницы. В качестве решения этой задачи Вы можете, например, воспользоваться функцией:
function loadtwo() {
parent.frame1.location.href= "first.htm";
parent.frame2.location.href= "second.htm";
}
Если же Вы хотите сделать функцию более гибкой, то можете воспользоваться возможностью передачи переменной в качестве аргумента. Результат будет выглядеть как:
function loadtwo(url1, url2) {
parent.frame1.location.href= url1;
parent.frame2.location.href= url2;
}
После этого можно организовать вызов функции: loadtwo("first.htm", "second.htm") или loadtwo("third.htm", "forth.htm"). Очевидно, передача аргументов делает Вашу функцию более гибкой. В результате Вы можете использовать ее многократно и в различных контекстах.
Часть 4: Окна и динамически создаваемые документы
Создание окон
Открытие новых окон в браузере — грандиозная возможность языка JavaScript. Вы можете либо загружать в новое окно новые документы (например, те же документы HTML), либо (динамически) создавать новые материалы. Посмотрим сначала, как можно открыть новое окно, потом как загрузить в это окно HTML-страницу и, наконец, как его закрыть.
Приводимый далее скрипт открывает новое окно браузера и загружает в него некую web-страничку:
function openWin() {
myWin= open("bla.htm");
}
// — >
В представленном примере в новое окно с помощью метода open() записывается страница bla.htm .
Заметим, что Вы имеете возможность управлять самим процессом создания окна. Например, Вы можете указать, должно ли новое окно иметь строку статуса, панель инструментов или меню. Кроме того Вы можете задать размер окна. Например, в следующем скрипте открывается новое окно размером 400x300 пикселов. Оно не имеет ни строки статуса, ни панели инструментов, ни меню.
function openWin2()
{myWin= open("bla.htm", "displayWindow",
"width=400,height=300,status=no,toolbar=no,menubar=no");
}
// — >
Как видите, свойства окна мы формулируем в строке "width=400,height=300,status=no,toolbar=no,menubar=no" . Обратите внимание также и на то, что Вам не следует помещать в этой строке символы пробела
Список свойств окна, которыми Вы можете управлять:

В версии 1.2 языка JavaScript были добавлены некоторые новые свойства (то есть в Netscape Navigator 4.0). Вам не следует пользоваться этими свойствами, готовя материалы для Netscape 2.x, 3.x или Microsoft Internet Explorer 3.x, поскольку эти браузеры не понимают языка 1.2 JavaScript. Новые свойства окон:

В представленном примере в новое окно с помощью метода open() записывается страница bla.htm .
Вы можете найти толкование этих свойств в описании языка JavaScript 1.2. В дальнейшем я для некоторых из них дам разъяснение и примеры использования.
Например, теперь с помощью этих свойств Вы можете определить, в каком месте экрана должно находиться вновь открываемое окно. Работая со старой версией языка JavaScript, Вы не смогли бы этого сделать.
Имя окна
Как видите, открывая окна, мы должны использовать три аргумента:
myWin= open("bla.htm", «displayWindow»,
"width=400,height=300,status=no,toolbar=no,menubar=no");
А для чего нужен второй аргумент? Это имя окна. Ранее мы видели, как оно использовалось в параметре target. Так, если Вы знаете имя окна, то можете загрузить туда новую страницу с помощью записи
При этом Вам необходимо указать имя соответствующего окна (если же такого окна не существует, то с этим именем будет создано новое).
Обратите внимание, что myWin — это вовсе не имя окна. Но только с помощью этой переменной Вы можете получить доступ к окну. И поскольку это обычная переменная, то область ее действия — лишь тот скрипт, в котором она определена. А между тем, имя окна (в данном случае это displayWindow ) — уникальный идентификатор, которым можно пользоваться с любого из окон браузера.
Закрытие окон
Вы можете также закрывать окна с помощью языка JavaScript. Чтобы сделать это, Вам понадобится метод close(). Давайте, как было показано ранее, откроем новое окно. И загрузим туда очередную страницу:
function closeIt() {
close();
}
// — >
Начало формы
Конец формы
Если теперь в новом окне Вы нажмете кнопку, то оно будет закрыто.
open() и close() — это методы объекта window. Мы должны помнить, что следует писать не просто open() и close() , а window.open() и window.close() . Однако в нашем случае объект window можно опустить — Вам нет необходимости писать префикс window, если Вы хотите всего лишь вызвать один из методов этого объекта (и такое возможно только для этого объекта).
Динамическое создание документов
Теперь мы готовы к рассмотрению такой замечательной возможности JavaScript, как динамическое создание документов. То есть Вы можете разрешить Вашему скрипту на языке JavaScript самому создавать новые HTML-страницы. Более того, Вы можете таким же образом создавать и другие документы Web, такие как VRML-сцены и т. д. Для удобства Вы можете размещать эти документы в отдельном окне или фрейме.
Для начала мы создадим простой HTML-документ, который покажем в новом окне. Рассмотрим следующий скрипт.
function openWin3() {
myWin= open("", «displayWindow»,
"width=500,height=400,status=yes,toolbar=yes,menubar=yes");
// открыть объект document для последующей печати
myWin.document.open();
// генерировать новый документ
myWin.document.write("
On-the-fly");myWin.document.write("
myWin.document.write("
myWin.document.write("This HTML-document has been created ");
myWin.document.write("with the help of JavaScript!");
myWin.document.write("
myWin.document.write("
");
// закрыть документ — (но не окно!)
myWin.document.close();
}
// — >
Начало формы
Конец формы
Давайте рассмотрим функцию winOpen3 (). Очевидно, мы сначала открываем новое окно браузера. Поскольку первый аргумент функции open() — пустая строка ( "" ), то это значит, что мы не желаем в данном случае указывать конкретный адрес URL. Браузер должен только не обработать имеющийся документ — JavaScript обязан создать дополнительно новый документ.
Читать дальшеИнтервал:
Закладка: