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 тегы ечендә "бу бит дөрес ешләсен өчен йаваскрипт кабызылган булырга тийеш" дигән йазыу чыгарырга кирәк.

2009-02-07

yavaskript bilen saylaq yasaw

сәләм.
хәзерге "народ"тагы татарча сайтларда сайлак(меню)ны йә фрэйм белән йасаганнар - http://tkoek.narod.ru/tatindex.html , http://duslarga.narod.ru , йә бит сайын меню йасаганнар: http://koshlaush.narod.ru . бит сайын йасау уңайсыз инде ул - бер йаңа бит өстәгән сайын барча битләрдәге менюларны үзгәртергә кирәк. әмма була беренче биттәгесене генә үзгәртергә дә. фрэйм белән йасалган сайлак ул кимчелектән азат. әмма шуллай да, мин тагы бер ысул күрсәтәм әле: йаваскрипт белән. мин йасаган кукмара музейы сайты сайтында мин шул ысулны кулландым, һәм шунга өстәп, фрэйм да кулландым, әмма әле күрсәткән ике сайттагы шикелле "frameset" төрендәге фрэйм түгел, ә "iframe" төрендәге фрэйм. мон төрле фрэйм белән сайлак чагыштырмача кечкенә, ә битләр озын булганда битне тартып астына күчкәндә сайлак өсткә менеп китә, улның астындагы буш урынны кулланып була. шулай ук йаваскрипт сайлакны koshlaush.narod.ru сайтыны гади текст төзәткече белән йасап күрсәткәндә кулландым: http://89.232.85.48/Qushlawoch/ . мон ысул белән сайлак кына түгел, башка елемент та беркетеп була. шул музей сайтында йававскрипт санагычларны мин шуллай беркеттем, һәм бер вакыт бит астында реклама рәвешендә күчкеләр беркеткән идем.
89.232.85.48/Qushlawoch/ битенең хытымыыл кодыны карасаңыз, анда 16 нчы, 17 нче йулларда монны күрерсез:
<script>saylangan=1;</script>
<script src="javascript/saylaq.js" charset="windows-1251"></script>
менә шундай кечкенә генә урын алып тора сайлак һәр биттә.
монларның беренчесе сайлакның кайсы йулы сайланган булып күренеп торасыны билгеләй, ә икенчесе сайлак скриптыны тоташтыра. ул файлны ачып карай аласыз: http://89.232.85.48/Qushlawoch/javascript/saylaq.js :
document.write(''
+'<ul id="menu">'
+'<li>'
+'<a href="index.htm" style="color:#000073;">Төп бит</a>'
+'</li>'
+'<li>'
+'<a href="maktap_turonda.htm" style="color:#FF0101;">Мәктәп турында</a>'
+'</li>'
+'<li>'
+'<a href="uqotowcolar.htm" style="color:#090;">Укытучылар</a>'
+'</li>'
+'<li>'
+'<a href="koordinatalar.htm" style="color:#63f;">Координаталар</a>'
+'</li>'
+'<li>'
+'<a href="fotoalbom.htm" style="color:#800080;text-decoration:underline;">Фотоальбом</a>'
+'</li>'
+'<li>'
+'<a href="siltamalar.htm" style="color:#F06;">Сылтамалар</a>'
+'</li>'
+'<li id="yanaliqlardiganyazow">'
+'<a href="yangaliqlar.htm">'
+'<span >Я</span><span >ң</span><span >а</span><span >л</span><span >ы</span><span >к</span><span >л</span><span >а</span><span >р</span>'
+'</a>'
+'</li>'
+'<li>'
+'<a href="http://a.mod-site.net/gb/u/koshlaush-1.html" style="color:#FF0101;">Кунак китабы</a>'
+'</li>'
+'<li>'
+'<a href="qullanma.htm" style="color:#006e00;text-decoration:underline;">Кулланма</a>'
+'</li>'
+'</ul>'
);
saylanganli=document.getElementById("menu").childNodes[saylangan-1];
saylanganli.style.listStyleImage="url(surat/uq-saylangan.gif)";
spanelement=document.createElement("span");
spanelement.style.cssText=saylanganli.firstChild.style.cssText;
spanelement.innerHTML=saylanganli.firstChild.innerHTML;
saylanganli.removeChild(saylanganli.firstChild);
saylanganli.appendChild(spanelement);
мин монда сайланган елементны күчке түгел гади текстка әйләндерү өчен катлаулы ысул кулланганмын икән, җиңелрәк тә йасап буладыр, йә туры "a" тегыны "span"га әйләндереп, йә "a" тегының "href" атрибутыны йукка чыгарып йә үзгәртеп.

мон көн шушында туктайм, монның дәвамы булыр, аллаһы бирса.
февральнең 15е: дәвамы монда.