HTML, Excel, Word, SEOÎñíîâû JavaScript ⇒ Ññûëêè, çàãîëîâîê, ñòàòóñ

ÎÑÍÎÂÛ JavaScript

Ó÷åáíèê JavaScript
·Çíàêîìñòâî ñ JS. Ïåðåìåííûå, îïåðàòîðû, îïåðàöèè
·Ôóíêöèè
·Ìîäåëü HTML äîêóìåíòà
·Èåðàðõèÿ äîêóìåíòîâ â áðàçóåðå
·Ôîðìû
·Îêíà è ôðåéìû
·Ññûëêè, çàãîëîâîê, ñòàòóñ
·Ñîáûòèÿ
·Ñîáûòèÿ êëàâèàòóðû è ìûøè
·Ñîáûòèÿ. Òàéìåð
·Ñòèëè. Óïðàâëåíèå ñòèëÿìè
·Ñëîè è áëîêè. Óïðàâëåíèå âèäèìîñòüþ
·Îáúåêòû JS
·Âíåøíèå îáúåêòû
·Âíóòðåííèå îáúåêòû
·Ìàññèâû
·Ðåãóëÿðíûå âûðàæåíèÿ
·Ìàòåìàòèêà â JS
·Ïðèìåð ïðîñòîãî êàëüêóëÿòîðà
·Äàòà è âðåìÿ
·Cookies è õðàíåíèå ñîñòîÿíèÿ
·Íåìíîãî îá AJAX
·Ðàáîòà ñ WebMoney

 

Ññûëêè, çàãîëîâîê, ñòàòóñ



Óïðàâëåíèå àäðåñíîé ñòðîêîé

Èçìåíåíèå âñïîìîãàòåëüíûõ ýëåìåíòîâ äîêóìåíòà

Îò îáúåêòà window îñòàëîñü óæå íåìíîãî – áóêâàëüíî òðè-÷åòûðå îáúåêòà. Íî, íåñìîòðÿ íà òî, ÷òî èõ îïèñàíèå íå çàéìåò ìíîãî ìåñòà, ïî ìåíüøåé ìåðå îäèí èç ýòèõ îáúåêòîâ çàñëóæèâàåò âíèìàíèÿ. Ýòî îáúåêò location, òî åñòü – ñîäåðæèìîå ñòðîêè àäðåñà.

Óïðàâëåíèå àäðåñíîé ñòðîêîé

Êàæäûé îáúåêò window ñîäåðæèò â ñåáå îáúåêò, ïðåäñòàâëÿþùèé ñòðîêó àäðåñà. Äàæå â òåõ ñëó÷àÿõ, êîãäà ñîáñòâåííî îêíî ýòó ñòðîêó íå ïîêàçûâàåò (íàïðèìåð, âî ôðåéìàõ).

Ýòîò îáúåêò ñîäåðæèò ðàçîáðàííûé íà ñîñòàâëÿþùèå ÷àñòè àäðåñ. Òî åñòü, ëþáîé URL ðàñêëàäûâàåòñÿ íà ïðîòîêîë, õîñò, ïîðò, ïóòü ê ôàéëó, ñòðîêó çàïðîñà è õåø (òîò òåêñò, êîòîðûé óêàçûâàåòñÿ ïîñëå çíàêà õåøà, «#», îòêóäà è íàçâàíèå). Êðîìå ýòîãî, îáúåêò location ñîäåðæèò òàêæå íåðàçîáðàííóþ ñòðîêó.

Îäíèì èç ñàìûõ èñïîëüçóåìûõ ñâîéñòâ ýòîãî îáúåêòà ÿâëÿåòñÿ èìåííî href (ïîëíûé òåêñò). Äåëî â òîì, ÷òî ïðè óñòàíîâêå ýòîìó ïîëþ íîâîãî çíà÷åíèÿ îêíî àâòîìàòè÷åñêè íà÷èíàåò çàãðóçêó óêàçàííîãî äîêóìåíòà (êðîìå ñëó÷àåâ èçìåíåíèÿ õåøà, íî òóò ïðîèñõîäèò òî æå ñàìîå, ÷òî è ïðè êëèêå ïî ññûëêå ñ õåøåì). Òàêèì îáðàçîì, ïåðåõîäû íà äðóãèå ñòðàíèöû ìîæíî îñóùåñòâëÿòü ïðîãðàììíî, íàïðèìåð, òàê:

window.location.href='http://yandex.ru/'

Íå çàáûâàéòå, ÷òî òåêñò êîòîðûé çàïèñûâàåòñÿ â href âûçûâàåò ïåðåõîä íà òîò æå àäðåñ, íà êîòîðûé áðàóçåð áû îòïðàâèëñÿ ïðè êëèêå ïî ññûëêå ñ ýòèì æå href. Òàê ÷òî àáñîëþòíûå è îòíîñèòåëüíûå URL-û ðàçëè÷àþòñÿ

Äëÿ òîãî ÷òîáû ïåðåçàãðóçèòü ñòðàíèöó ïðèñâîåíèÿ òîãî æå àäðåñà, êîòîðûé è áûë, íåäîñòàòî÷íî. Âìåñòî ýòîãî íóæíî èñïîëüçîâàòü ôóíêöèþ location.reload()

Êðîìå ýòîãî, ó îáúåêòà location òàêæå èìååòñÿ ôóíêöèÿ replace() – îíà äåëàåò òî æå, ÷òî è ïðèñâîåíèå íîâîãî àäðåñà, íî ïðè ýòîì íå äîáàâëÿåò ññûëêó â èñòîðèþ áðàóçåðà.

Ñîîòâåòñòâåííî, îáðàòíûå äåéñòâèÿ òîæå âîçìîæíû – òàê, â ëþáîé ìîìåíò âðåìåíè ìîæíî ïðî÷èòàòü ñîäåðæèìîå location, è â çàâèñèìîñòè îò ýòîãî âûïîëíèòü èëè,  íàîáîðîò, íå âûïîëíÿòü êàêîå-ëèáî äåéñòâèå.

 ÷àñòíîñòè, èìåííî ýòîò ñïîñîá – íåïðåðûâíàÿ ïðîâåðêà location – èñïîëüçóåòñÿ â YUI Framework äëÿ îáåñïå÷åíèÿ ðàáîòû history â AJAX-ïðèëîæåíèÿõ.

Ðÿäîì ñ ýòèì îáúåêòîì ñòîÿò åùå íåñêîëüêî.  

Òàê, ñàìûì áëèçêèì ê îáúåêòó window.location ÿâëÿåòñÿ document.location

Ê ñîæàëåíèþ, îáíàðóæèòü ðàçíèöó ìåæäó íèìè ýêñïåðèìåíòàëüíî ó ìåíÿ íå ïîëó÷èëîñü, íî íåêîòîðûå ñïåöèàëèñòû óòâåðæäàþò, ÷òî èçìåíèòü ñîäåðæèìîå document.location èç ñêðèïòà íåâîçìîæíî.

Êîðîìå ýòîãî îáúåêòà, ñòîèò îòìåòèòü åùå äâà. Ýòî document.referrer, êîòîðûé ñîäåðæèò URL äîêóìåíòà, ñ êîòîðîãî áûë ñäåëàí ïåðåõîä íà òåêóùèé (ïðè÷åì òîëüêî ïî ññûëêàì èëè ïîñðåäñòâîì èçìåíåíèÿ location), è history

Îáúåêò history ïîçâîëÿåò ïåðåìåùàòüñÿ ïî ýëåìåíòàì èñòîðèè ïåðåõîäîâ áðàóçåðà â îáå ñòîðîíû (ïðè ýòîì, â öåëÿõ áåçîïàñíîñòè, íå äàâàÿ ñêðèïòó ïðî÷åñòü çíà÷åíèå URL-îâ, íà êîòîðûå îñóùåñòâëÿåòñÿ ïåðåõîä). Ýòî äåëàåòñÿ ïðè ïîìîùè ôóíêöèé forward() (òî æå ñàìîå ÷òî è êíîïêà «âïåðåä»), back() (êíîïêà íàçàä) è go() (äëÿ íåå íóæíî óêàçûâàòü ÷èñëî – íîìåð çàïèñè â history)

Âîîáùå, îáúåêò history ÿâëÿåòñÿ ìàññèâîì ñ íåñêîëüêèìè äîïîëíèòåëüíûìè ôóíêöèÿìè – ïî êðàéíåé ìåðå, â FireFox. History, êàê è ëþáîé ìàññèâ, ñîäåðæèò ïàðàìåòð «äëèíà», íî, óâû, íå äàåò ïðÿìîãî äîñòóïà ê ñâîèì ýëåìåíòàì.

Èçìåíåíèå âñïîìîãàòåëüíûõ ýëåìåíòîâ äîêóìåíòà

Îäíèì èç èçëþáëåííûõ ýôôåêòîâ âåáìàñòåðîâ ïðîøëîãî âåêà (òî åñòü – äî 1999 ãîäà, äà è ñåé÷àñ èíîãäà) áûëî èçìåíåíèå ñòðîêè ñòàòóñà. Ïî çàìûñëó ðàçðàáîò÷èêîâ áðàóçåðîâ, ýòà ñòðîêà äîëæíà áûëà ñîäåðæàòü èëè àäðåñ ññûëêè, íà êîòîðóþ íàâåäåí êóðñîð ìûøè, èëè ÷òî-ëèáî ïîëåçíîå. Âìåñòî ýòîãî ìíîãèå ðàçðàáîò÷èêè ñàéòîâ, â îñîáåííîñòè ïåðñîíàëüíûõ ñòðàíèö, ëþáèëè ïîìåùàòü òóäà ñòðî÷êè «Ïðèâåò!», «À ÿ âîò êàê íàó÷èëñÿ â÷åðà äåëàòü» è òîìó ïîäîáíûå. 

Íåêîòîðûå ðàçðàáîò÷èêè èñïîëüçîâàëè ñòðîêó ñòàòóñà äëÿ ðàçìåùåíèÿ òàì ëîæíîãî àäðåñà – òî åñòü, ññûëêà âåäåò íà aaa.com, à â ñòðîêå ñòàòóñà ïèøåòñÿ bbb.com – îñîáåííî ýòî áûëî ïîïóëÿðíî íà õàêåðñêèõ ñàéòàõ. 

Òàêèì îáðàçîì, èçìåíåíèå ñòðîêè ñòàòóñà ñ÷èòàåòñÿ äóðíûì òîíîì. Íî åñòü ýòîìó ýôôåêòó è äðóãîå ïðèìåíåíèå. 

Òàê, â ñòðîêó ñòàòóñà ìîæíî ïèñàòü ðåàëüíûé àäðåñ ññûëêè (êîòîðûé òàì áû ïîÿâèëñÿ è áåç ýòîãî), íî, íàïðèìåð, äëÿ âíåøíèõ ññûëîê, èëè ññûëîê îòêðûâàþùèõñÿ â íîâîì îêíå – ïèñàòü êîììåíòàðèé. 

Äåëàåòñÿ èçìåíåíèå ñòðîêè ñòàòóñà ýëåìåíòàðíî – ïðîñòûì ïðèñâîåíèåì íîâîãî òåêñòà îáúåêòó (ñòðîêîâîìó) window.status Äëÿ ÷òåíèÿ ýòî ñâîéñòâî íå ïðåäíàçíà÷åíî (âñå ðàâíî âåðíåò òî ÷òî âû òóäà çàïèñàëè èëè ïóñòóþ ñòðîêó)

Ñ çàãîëîâêîì îêíà âñå ãîðàçäî ïðîùå (ïîëüçîâàòåëè ïðèâûêëè, ÷òî òàì ïèøóòñÿ ñàìûå ðàçíûå òåêñòû). Äëÿ òîãî ÷òîáû èçìåíèòü çàãîëîâîê îêíà, ïðèñâîéòå òåêñò îáúåêòó document.title. Ýòîò ñïîñîá (â îòëè÷èå îò çàìåíû òåêñòà âíóòðè òåãà title) ðàáîòàåò âî âñåõ áðàóçåðàõ.

Ñ çàäà÷àìè íà ýòîò ðàç íåãóñòî – ðàçâå ÷òî, äëÿ ðàçìèíêè, íàïèøèòå ñòðî÷êó ñêðèïòà, êîòîðàÿ áû ïèñàëà ïóòü ê ôàéëó â õåøå ñòðàíèöû. 



 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû