2009-02-15

javaskriptbilensaylaqyasaw-2

сәләм.
бүген "тәнәфес" интернет гәҗитене күрдем дә, шундагы өсттәге "архив" дигән менюга күзем төште әле. бу бит шушы "javascript" меню ясарга туры килә торган очрак. монда бит йаңа бит-гәҗитнең йаңа саны өстәгән сайын барча елекке чыгарылышлары да йаңартылып тора.
ачтым да мин улны, "чыганак тексты"ны ачтым да, "архив" дигән сүз езләдем. мон урында ул:
<tr align="center">
<td colspan="2" rowspan="1"><small style="color: rgb(51, 0, 153);"><span style="font-family: Arial;"><span style="font-weight: bold;"><span style="color: rgb(255, 0, 0);">Архив:</span> |</span><a href="1.html" target="_self">№1</a><span style="font-weight: bold;">|</span><a href="2.html" target="_self">№2</a><span style="font-weight: bold;">|</span><a href="3.html">№3</a>|<a href="index.html">№4</a>|</span></small></td>
</tr>
монны javascript белән ешләве монлай:
башта мин мон кодны аңларлык хәлгә килдерәм:

<tr align="center">

<td colspan="2" rowspan="1">
<small style="color: rgb(51, 0, 153);">
<span style="font-family: Arial;">
<span style="font-weight: bold;">
<span style="color: rgb(255, 0, 0);">Архив:</span> |
</span>
<a href="1.html" target="_self">№1</a>
<span style="font-weight: bold;">|</span>
<a href="2.html" target="_self">№2</a>
<span style="font-weight: bold;">|</span>
<a href="3.html">№3</a>
|
<a href="index.html">№4</a>
|
</span>
</small>
</td>
</tr>

монда 1 дән алып дүрткә кадәрле номерлар өлешене javascript ка чыгарырга була, мон өлешне:

<a href="1.html" target="_self">№1</a>
<span style="font-weight: bold;">|</span>
<a href="2.html" target="_self">№2</a>
<span style="font-weight: bold;">|</span>
<a href="3.html">№3</a>
|
<a href="index.html">№4</a>

йаңа буш файл йасайсы, исеме булсын menu.js . улда йазасы:

menu=
'<a href="1.html">№1</a>'+
'<span style="font-weight: bold;">|</span>'+
'<a href="2.html">№2</a>'+
'<span style="font-weight: bold;">|</span>'+
'<a href="3.html">№3</a>'+
'<span style="font-weight: bold;">|</span>'+
'<a href="index.html">№4</a>';
document.write(menu);

улдан ары, теге йазылган урынында шушы скриптны тоташтырып куйасы, монлай итеп:
<tr align="center">
<td colspan="2" rowspan="1">
<small style="color: rgb(51, 0, 153);">
<span style="font-family: Arial;">
<span style="font-weight: bold;">
<span style="color: rgb(255, 0, 0);">Архив:</span> |</span><script src="menu.js"></script>|</span>
</small>
</td>
</tr>
менә ничек кечкенә генә кала! һәм бит сайын бер үк әйберне туры китереп үзгәртеп утырасы булмай. бары тик шушы скриптны иске битләргә тоташтырып чыгасы да, йаңаларында да шуллай итеп кенә барасы, һәм йаңа бит өстәлгән сайын шул бер скрипт файлынга гына күчке ("ссылка") өстәйсе.
мон әле гадиләштерелгәне генә булды. монны әле камилләштерергә була. ләкин беренче адым буларак шушы әйбәт. ләкин бер мөһим җитешсезлегене төзәтеп куйырга кирәк. монлай гына булса, интернеттагы езләвечләр - сайт табып биргечләр - йандекс, гугыл шикелле - йаваскрипт ечендәге күчкеләрне укымай. уллар улларны укысын өчен, улларга да йөрергә йул калдырырга кирәк. монлай итеп: гади генә бер нормаль html файл йасайсы, "arhiv.html" дигән, анда барлык битләргә күчкеләрне нормаль html ысулы белән генә куйып чыгасы. йагъни, ул файл еченгә йазасы:

<a href="1.html">№1</a>
<a href="2.html">№2</a>
<a href="3.html">№3</a>
<a href="index.html">№4</a>

һәм мон файлны да йаңа чыгарылыш йасаган сайын төзәтеп барасы була, монысы езләвеч "робот"лары өчен. улданы ары барча саннарга теге йаваскрипт меню белән беррәттән шушы файлга күчке куйып барасы була, "йаваскрипт"ны аңламай торган караучылар өчен генә итеп, йагъни, гадәти браузер улны күрмәй, ә "робот"лар шул күчкене күреп, шул "архив" битенгә күчә һәм андагы күчкеләр буйынча күчеп бүтән битләргә еләгә. мон йаваскриптсызлар өчен генә күренсен өчен ул күчкене "noscript" тэгы еченгә аласы, шуллай итеп, чыгарылыш сайын йаваскрипт сайлакны һәм роботларга йул калдырган код монлай була:
<tr align="center">
<td colspan="2" rowspan="1">
<small style="color: rgb(51, 0, 153);">
<span style="font-family: Arial;">
<span style="font-weight: bold;">
<span style="color: rgb(255, 0, 0);">Архив:</span> |</span><script src="menu.js"></script><noscript><a href="arhiv.html">архив</noscript>|</span>
</small>
</td>
</tr>

бетте. нормаль генә йаваскрипт меню йасау шуллай. моннан бер йазма елекке йазма да йаваскрипт меню йасау турында иде.
бер минуттан соң өстәп йазам:
мон нәрсәнең, монлай гына калса, тагын бер начар йагы була, роботлар "архив" битенгә башка барча битләрдән күчке булганга күрә, улны иң мөһим дий санап, бер сайтлар езләүче кешегә мон сайтны езләп табып күрсәткәндә иң беренче чиратта шул йәмсез генә булган "архив" битенгә йул күрсәтергә мөмкин, ләкин төп бит буларак, "index.html" битенгә йагъни иң йаңа чыгарылышка күчеревенгә дә өмет бар. монга каршы "архив" битене матуррак итеп бизәргә була һәм "йаваскрипт" белән кергән кешене "index.html" га күчерергә була. улның өчен "архив" битенгә монлай итеп бер йаваскрипт өстәп куйасы була:

<script>location="http://tanafes.narod.ru";</script>
<a href="1.html">№1</a>
<a href="2.html">№2</a>
<a href="3.html">№3</a>
<a href="index.html">№4</a>

булды, шушының белән мон йазма, алла бирса, тәмам. әмма йаваскрипт белән сайлак йасау турында тагын йазырмын, алла бирса.
февралнең 19ы 18:08 : мин бер аз йалганладым: бер шактый мөһим әйберне әйтмәдем: йаваскрипты сүндерелгән сайт карарга кереүчеләр өчен дә ул езләвечләргә кирәкле arhiv.html га йул калывы кирәк, йә исә noscript тегы ечендә "бу бит дөрес ешләсен өчен йаваскрипт кабызылган булырга тийеш" дигән йазыу чыгарырга кирәк.

3 комментария:

Динар комментирует...

ул "тәнәфес" сайтыны йасаучы Razani га да әйттем:
http://duslarga.forum24.ru/?1-10-0-00000001-000-20-0-1234697023 .

Razani комментирует...

Менә синең блогыңа теркәлеп карадым әле, язмаларың белән таныштым. Бик аңлап җитмәсәм дә, эшләп карарга исәбем бар. Бу язма сынап карар өчен әле, укырсың мы икән дим.

Динар комментирует...

укыдым.