|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JavaScript 1.1: добавлен обработчик onMouseOut; добавлены объекты Area; links-массивы содержат области, созданные тэгом <AREA href="books-page-javascript-javascript_13-..."> JavaScript 1.2: добавлены свойства x и y; добавлен метод handleEvent. | |
HTML-тэгами A или AREA или вызовом метода String.link. Машина выполнения JavaScript создаёт объекты Link для всех тэгов A и AREA в Вашем документе, предоставляющих атрибут HREF. Она помещает эти объекты в массив свойства document.links. Вы получаете доступ к объекту Link по индексу в этом массиве.
Для определения ссылки тэгом A или AREA используется стандартный синтаксис HTML с добавлением обработчиков событий JavaScript.
Определение ссылки методом String.link:
theString.link(hrefAttribute)
theString | String-объект. |
hrefAttribute | Любая строка, специфицирующая атрибут HREF тэга A; она должна быть правильным URL (относительным или абсолютным). |
Area-объекты имеют следующие обработчики:
Link-объекты имеют следующие обработчики:
Каждый Link является location-объектом и имеет те же свойства, что и location-объект.
Если Link-объект является также Anchor-объектом, он имеет вхождения и в массиве anchors, и в массиве links.
Если пользователь щёлкает Link-объект и переходит к документу назначения (специфицируемому атрибутом href="books-page-javascript-javascript_13-locationOrURL"), свойство referrer документа назначения содержит URL исходного документа.
Вы можете использовать Link-объект для выполнения функции JavaScript, а не для перехода по ссылке, специфицировав URL-протокол javascript: в атрибуте HREF гиперссылки. Вам это может понадобиться, если ссылка содержит объект Image и Вы хотите выполнить код JavaScript при щелчке по изображению. Либо Вам может понадобиться использовать ссылку вместо кнопки для выполнения кода JavaScript.
Например, если пользователь щёлкает по следующим ссылкам, выполняются функции slower и faster:
<A href="books-page-javascript-javascript_13-javascript:slower()">Slower</A>
<A href="books-page-javascript-javascript_13-javascript:faster()">Faster</A>
Вы можете использовать объект Link, чтобы не выполнять никаких действий, специфицировав URL-протокол javascript:void(0) в атрибуте HREF гиперссылки. Вам это может понадобиться, если ссылка окружает объект Image и Вы хотите использовать обработчики события ссылки для изображения. Если пользователь щёлкает по следующим ссылкам, ничего не происходит:
<A href="books-page-javascript-javascript_13-javascript:void(0)">Click here to do nothing</A>
<A href="books-page-javascript-javascript_13-javascript:void(0)">
<IMG src="books/javascript/javascript_13/images\globe.gif" ALIGN="top" HEIGHT="50" WIDTH="50">
</A>
| Свойство | Описание |
|---|---|
hash | |
host | Специфицирует хост и имя домена или IP-адрес сетевого хоста. |
hostname | |
href | |
pathname | |
port | |
protocol | |
search | |
target | |
text | |
x | Позиция левого края ссылки по горизонтали в пикселах относительно левого края документа. |
y | Позиция верхнего края ссылки по вертикали в пикселах относительно верхнего края документа. |
| Метод | Описание |
|---|---|
handleEvent |
Кроме того, этот объект наследует методы watch и unwatch из объекта Object.
Пример 1. Следующий пример создаёт гипертекстовую ссылку на якорь javascript_intro:
<A href="books-page-javascript-javascript_13-link.html#javascript_intro">Introduction to JavaScript</A>
Пример 2. Здесь создаётся гиперссылка на якорь numbers в файле doc3.html в окне window2. Если window2 не существует, оно создаётся.
<LI><A href="books-page-javascript-javascript_13-oc3.html#numbers TARGET="window2">Numbers</A>
Пример 3. Здесь пользователь переходит на x вхождений назад в списке history:
<A href="books-page-javascript-javascript_13-javascript:history.go(-1 * x)">Click here</A>
Пример 4. Здесь создаётся гиперссылка на URL. Пользователь может использовать набор радио-кнопок для выбора из трёх URL. Обработчик onClick ссылки устанавливает URL (свойство href ссылки) на основе выбранной кнопки. Ссылка также имеет обработчик onMouseOver, который изменяет свойство status окна. Как показано в примере, Вы обязаны вернуть true для установки свойства window.status в обработчике onMouseOver.
<SCRIPT>
var desthref="index.php?name=go&url=http%3A%2F%2Fhome.netscape.com%2F"
</SCRIPT>
<FORM NAME="form1">
<B>Choose a destination from the following list, then click "Click me" below.</B>
<BR><INPUT TYPE="radio" NAME="destination" VALUE="netscape"
onClick="destHREF='http://home.netscape.com/'"> Netscape home page
<BR><INPUT TYPE="radio" NAME="destination" VALUE="sun"
onClick="destHREF='http://www.sun.com/'"> Sun home page
<BR><INPUT TYPE="radio" NAME="destination" VALUE="rfc1867"
onClick="destHREF='http://www.ics.uci.edu/pub/ietf/html/rfc1867txt.html'"> RFC 1867
<P><A href="books-page-javascript-javascript_13-"
onMouseOver="window.status='Click this if you dare!'; return true"
onClick="this.href="books-page-javascript-javascript_13-estHREF">
<B>Click me</B></A>
</FORM>
Пример 5: Массив links. В этом примере функция linkGetter использует массив links для вывода значений каждой ссылки текущего документа. Этот пример определяет также несколько ссылок и кнопку для запуска linkGetter.
function linkGetter() {
msgWindow=window.open("","msg","width=400,height=400")
msgWindow.document.write("links.length is " +
document.links.length + "<BR>")
for (var i = 0; i < document.links.length; i++) {
msgWindow.document.write(document.links[i] + "<BR>")
}
}
<A href="index.php?name=go&url=http%3A%2F%2Fhome.netscape.com">Netscape Home Page</A>
<A href="index.php?name=go&url=http%3A%2F%2Fwww.catalog.com%2Ffwcfc%2F">China Adoptions</A>
<A href="index.php?name=go&url=http%3A%2F%2Fwww.supernet.net%2F%7Edugbrown%2F">Bad Dog Chronicles</A>
<A href="index.php?name=go&url=http%3A%2F%2Fwww.best.com%2F%7Edoghouse%2Fhomecnt.html">Lab Rescue</A>
<P>
<INPUT TYPE="button" VALUE="Display links"
onClick="linkGetter()">
Пример 6: Обращение к Area-объекту через массив links. Здесь код обращается к свойству href первого Area-объекта, показанного в Примере 1.
document.links[0].href
Пример 7: Area-объект с обработчиками onMouseOver и onMouseOut. Здесь выводится изображение globe.gif. Это изображение использует карту изображений/image map, которая определяет области верхней и нижней половин рисунка. Обработчики onMouseOver и onMouseOut выводят разные сообщения в статусной строке в зависимости от того, проходит курсор мыши над верхней или нижней половиной рисунка. Атрибут HREF необходим при использовании обработчиков onMouseOver и onMouseOut, но в этом примере рисунок не должен быть гиперссылкой, поэтому атрибут HREF выполняет javascript:void(0), которая ничего не делает.
<MAP NAME="worldMap">
<AREA NAME="topWorld" COORDS="0,0,50,25" href="books-page-javascript-javascript_13-javascript:void(0)"
onMouseOver="self.status='You are on top of the world';return true"
onMouseOut="self.status='You have left the top of the world';return true">
<AREA NAME="bottomWorld" COORDS="0,25,50,50" href="books-page-javascript-javascript_13-javascript:void(0)"
onMouseOver="self.status='You are on the bottom of the world';return true"
onMouseOut="self.status='You have left the bottom of the world';return true">
</MAP>
<IMG src="books/javascript/javascript_13/images\globe.gif" ALIGN="top" HEIGHT="50" WIDTH="50" USEMAP="#worldMap">
Пример 8: Симуляция обработчика onClick Area-объекта через использование атрибута HREF. Следующий пример использует атрибут HREF Area-объекта для выполнения функции JavaScript. Выводимый рисунок, colors.gif, показывает два цвета. Верхняя половина рисунка имеет цвет antiquewhite, а нижняя - white. Если пользователь щёлкает по верхней или нижней половине рисунка, функция setBGColor изменяет цвет фона документа на цвет из рисунка.
<SCRIPT>
function setBGColor(theColor) {
document.bgColor=theColor
}
</SCRIPT>
Click the color you want for this document's background color
<MAP NAME="colorMap">
<AREA NAME="topColor" COORDS="0,0,50,25" href="books-page-javascript-javascript_13-javascript:setBGColor('antiquewhite')">
<AREA NAME="bottomColor" COORDS="0,25,50,50" href="books-page-javascript-javascript_13-javascript:setBGColor('white')">
</MAP>
<IMG src="books/javascript/javascript_13/images\colors.gif" ALIGN="top" HEIGHT="50" WIDTH="50" USEMAP="#colorMap">
Вызывает обработчик для специфицированного события.
handleEvent(event)
event | Имя события, для которого специфицированный объект имеет обработчик события. |
Об обработке событий см. книгу Клиентский JavaScript. Руководство.
Строка, начинающаяся со знака хэша (#), которая специфицирует имя якоря в URL.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство hash специфицирует часть URL. Это свойство применяется только к HTTP URL.
Будьте внимательны при использовании этого свойства. Предположим, document.links[0] содержит:
http://royalairways.com/fish.html#angel
Тогда document.links[0].hash возвратит #angel. Предположим, у Вас имеется такой код:
hash = document.links[0].hash;
document.links[0].hash = hash;
Теперь document.links[0].hash возвращает ##angel.
Это поведение может быть изменено в последующих версиях.
Вы можете установить свойство hash в любой момент, хотя безопаснее делать это до изменения расположения. Если хэш, который Вы специфицируете, не может быть найден в текущем месте, Вы получите ошибку.
Установка свойства hash выполняет переход к именованному якорю без перезагрузки документа. Это отличается от способа загрузки документа при установке свойств link.
См. в документе RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о хэше.
Строка, специфицирующая имя сервера, субдомен и домен.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство host специфицирует часть URL. Свойство host является подстрокой свойства hostname. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение null, свойство host имеет то же значение, что и свойство hostname.
Вы можете установить свойство host в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами хост не может быть найден в текущем месте, Вы получите ошибку.
См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname и port.
Строка, содержащая полное имя хоста сервера, включая имя сервера, субдомен, домен и номер порта.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство hostname специфицирует часть URL. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host имеет то же значение, что и свойство hostname.
Вы можете установить свойство hostname в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированное Вами имя хоста не может быть найдено в текущем месте, Вы получите ошибку.
См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname.
Строка, специфицирующая полный URL.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство href специфицирует весь URL целиком. Другие свойства объекта link являются подстроками свойства href.
Вы можете установить свойство href в любой момент.
См. в RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о URL.
Строка, специфицирующая часть URL-пути в URL.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство pathname специфицирует часть URL. Оно даёт детальную информацию о том, как может быть достигнут специфицированный ресурс.
Вы можете установить свойство pathname в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами pathname не может быть найден в текущем месте, Вы получите ошибку.
См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о pathname.
Строка, специфицирующая порт соединения, используемый сервером.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство port специфицирует часть URL. Свойство port является подстрокой свойства hostname. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host имеет то же значение, что и свойство hostname.
Вы можете установить свойство port в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами port не может быть найден в текущем месте, Вы получите ошибку. Если свойство port не специфицировано, по умолчанию предполагается номер порта 80.
См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о port.
Строка, специфицирующая начало URL до двоеточия включительно.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство protocol специфицирует часть URL. Оно указывает метод доступа к URL. Например, значение "http:" специфицирует HyperText Transfer Protocol, а значение "javascript:" специфицирует код JavaScript.
Вы можете установить свойство protocol в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами не может быть найден в текущем месте, Вы получите ошибку.
Свойство protocol представляет схему именования URL. См. в Разделе 2.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о protocol.
Строка, начинающаяся со знака вопроса (?), которая специфицирует запрос информации через URL.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство search является частью URL. Это свойство применяется только к http URLs.
Свойство search содержит пары переменная/значение; каждая пара отделена амперсандом. Например, две пары в строке поиска могут выглядеть так:
?x=7&y=5
Вы можете установить свойство search в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированное Вами search не может быть найдено в текущем месте, Вы получите ошибку.
См. в Разделе 3.3 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о search.
Строка, специфицирующая имя окна, в котором отображается содержимое, на которое указывает гиперссылка.
Свойство target первоначально отражает значение атрибута TARGET тэгов A или AREA; однако установка target переопределяет этот атрибут.
Вы можете установить target с использованием строки, если строка представляет имя окна. Свойству target не может быть присвоено значение переменной или выражения JavaScript.
Вы можете установить свойство target в любой момент.
Здесь специфицируется, что ответы на форму musicInfo отображаются в окне msgWindow:
document.musicInfo.target="msgWindow"
Строка, содержащая содержимое соответствующего тэга A.
Позиция левого края ссылки по горизонтали в пикселах относительно левого края документа.
Позиция верхнего края ссылки по вертикали в пикселах относительно верхнего края документа.
Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation
|