В документе html Вы можете делать закладки и ссылки (см. "Шаг 10 - Бросаем якоря"). Закладки создаются просто:
<a name=anc1> <a name=anc2> <a name=anc3> <a name=anc4>
При этом все закладки добавляются в массив anchors, который овечает за них. Размер этого массива, или же просто количество закладок в документе можно получить с помощью свойства length. Например для предыдущего примера следующий скрипт выведет значение 4:
document.writeln(document.anchors.length);
Для чего именно нужен этот массив я не очень понимаю, потому как кроме имени закладки из него получить что-либо сложно %)
document.writeln(document.anchors[0].name);
Выведется значение:
anc1
Куда больше возможностей предоставляет массив links. Это массив ссылок документа. Любая закладка, которая кроме имени name имеет еще и гипер-ссылку href автоматически добавляется и в массив anchors и в массив links.
Для каждого элемента массива links существуют следующие свойства hash, host, hostname, href, pathname, port, protocol, search, target. Давайте для того, чтобы все понять просто попробуем пару ссылок:
<a href=http://www.gilb.com/st1.html#anc1 target=l1>l1</a><br> <a href=http://www.l1.com:8000/cgi-bin/12.cgi?asd target=l2>l2</a><br> <a href=ftp://www.l2.com/pub/ target=l3>l3</a><br> <a href=gopher://www.l2.com?asdf target=l4>l4</a><br>
После этого применим к документу следующий скрипт:
for (i=0;i<document.links.length;i++){ document.writeln("<dt><b>",document.links[i].href,"</b>"); document.writeln("<dd>Hash: ",document.links[i].hash); document.writeln("<dd>Host: ",document.links[i].host); document.writeln("<dd>Hostname: ",document.links[i].hostname); document.writeln("<dd>Port: ",document.links[i].port); document.writeln("<dd>Protocol: ",document.links[i].protocol); document.writeln("<dd>Target: ",document.links[i].target); document.writeln("<dd>Pathname: ",document.links[i].pathname); document.writeln("<dd>Search: ",document.links[i].search); };
Результат слишком велик, чтобы его тут разместить %) Размещу наверно наиболее информативный кусок:
http://www.gilb.com/st1.html#anc1 Hash: #anc1 Host: www.gilb.com:80 Hostname: www.gilb.com Port: 80 Protocol: http: Target: l1 Pathname: st1.html Search: http://www.l1.com:8000/cgi-bin/12.cgi?asd Hash: Host: www.l1.com:8000 Hostname: www.l1.com Port: 8000 Protocol: http: Target: l2 Pathname: cgi-bin/12.cgi Search: ?asd
Как Вы видите эти свойства полностью декодируют содержимое ссылки href. Свойство hash возвращает название закладки в вызываемом документе, которое указывается после #. Свойства host и hostname возвращают название хоста в интернете, при этом к значению свойства host добавляется значение порта, которое может быть получено при помощи свойства port. Надо еще отметить, что значение port меняется в зависимости от значения protocol. Например, для протокола FTP значения этих свойств будут следующими: protocol="ftp:", port="21". Свойство pathname возвращает путь к вызываемому документу. search содержит все, что после знака ?. В target будет название фрейма.
Вот собственно и все про ссылки %)