Üç tane frame yarattık. İlk frame'de düğme yaratıldı. İlk gelen HTML
sayfası ise frame'leri yaratmak için ve onlara isim vermek için
kullanıldı. Bunun JavaScript'le bir ilgisi yok. Yine de bir bakalım:
loadtwo.html ilk frame'e yüklendi. Bu frame'de JavaScript
fonksiyonu ve düğme var.
Düğmeye basıldığı anda loadtwo() fonksiyonu çağırıldı ve iki değer
fonksiyona gönderildi. Fonksiyonu incelerseniz 'fr1' ve 'fr2' adlı
frame'lere gönderdiğimiz iki değerin yüklendiğini göreceksiniz. Eğer
farklı adresleri içeren birden fazla düğme kullanacaksanız bu fonksiyonu
yeniden çağırabilirsiniz. Tek yapmanız gereken yeni düğmenizde yani
adresleri fonksiyona göndermek...
Tabii bunun için ikinci frame'e yüklediğiniz her sayfanın başına bunun
gibi bir satır eklemeniz gerekiyor. Burada <BODY ...> komutuna
koyduğunuz bir onLoad özelliği ile ikinci frame'e yüklediğiniz sayfa
yükleme bittikten sonra üçüncü frame'e diğer dökümanı yüklüyor.
Diğer bir yaygın problem ise açılan pencereye yeni bir sayfanın nasıl
yükleneceği. Bunun için yakından tanıdığınız bir komut kullanılır:
TARGET
Şimdi sizinle JavaScript'te kullanılan değişik operatörlere bakalım.
Operatörler script'inizi güçlendiren ve kısaltan iyi bir tekniktir.
Örneğin x değişkeninin 3'ten büyük, 10'dan küçük olduğunu anlamak
istiyorsanız şu şekilde yazmak aklınaıza gelebilir:
'herhangibirfonk()' fonksiyonu eğer x > 3 ve x < 10 ise
çağırılacaktır. Bunu yazmanın daha iyi bir yolu var:
Eğer değişkenin eşitsizliğini inceleyecekseniz '!=' işareti işinizi
görecektir:
x != 17.
Bunlar en çok kullanılan operatörlerdir. Eğer Netscape'in dökümanlarına
bakarsanız birçok operatörü daha tanıma imkanınız olabilir.
Fareyle bir kere tıklayıp iki tane sayfanın nasıl yüklenebileceği hakkında
birçok mektup aldım. Bu soruya üç ana cevap verilebilir. Birincisi bir
düğme yaratırsınız ve bu düğmeye basıldığında iki farklı pencere ya da
frame'e iki sayfa yükleyecek bir fonksiyon çağırılır. Aslında hiç de zor
birşey değil. Eğer buraya kadar olan tüm dökümanlarımızı sırayla
okuduysanız bize gereken herşeyi zaten öğrenmişsiniz demektir.
frames2.html
<HTML>
<HEAD>
<title>Frame'ler</title>
</HEAD>
<FRAMESET COLS="295,*">
<FRAMESET ROWS="100%,*">
<FRAME SRC="loadtwo.html" NAME="fr1">
</FRAMESET>
<FRAMESET ROWS="75%,25%">
<FRAME SRC="cell.html" NAME="fr2">
<FRAME SRC="cell.html" NAME="fr3">
</FRAMESET>
</FRAMESET>
</HTML>
loadtwo.html
<HTML>
<HEAD>
<script language="JavaScript">
<!-- Sakla
function loadtwo(page2, page3) {
parent.fr2.location.href=page2;
parent.fr3.location.href=page3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="buttons">
<INPUT TYPE="button" VALUE="1satırda iki sayfa" onClick="loadtwo('frtest1.htm','frtest2.htm')">
</FORM>
</BODY>
</HTML>
İkinci teknik ise hyperlink'leri kullanmaktır. Internet'te bu yönde bazı
örnekler mevcuttur:
<a href="yourlink.html" onCLick="fonksiyon()">
Bu teknik sağlıklı olarak her platformda çalışmıyor. Bu yüzden
kullanmamanız daha iyi olur ancak telaşa gerek yok. Çünkü link'lerde
JavaScript fonksiyonu çağırmanın daha kesin bir yolu var:
<a href="javascript:fonksiyon()">Adres</a>
Bunun gerçekten de hiçbir zorluğu yok ve tüm JavaScript destekleyen
alıcılarda gayet güzel çalışıyor. Eğer yukarıdaki örnekte verdiğimiz
'loadtwo()' fonksiyonunu bu şekilde kullanırsanız düğme yaratmadan da bir
tıklamada iki sayfa açabilirsiniz.
Üçüncü bir teknik de şöyle oluyor:
<a href="getfr2.htm" target"fr2">Buraya Tıklayın!</a>
Bu zaten bildiğimiz basit bir HTML komutu. Ancak iş yüklenen getfr2.htm
sayfasında bitiyor:getfr2.htm
<HTML>
<BODY onLoad="parent.fr3.location.href='getfr3.htm'; return true;">
Hebele Hubele
</body>
</html>
<a href="herhangibiradres.html" target="Pencere Adı">Git!</a>
if (x > 3)
if (x < 10)
herhangibirfonk();
if (x>3 && x<10) herhangibirfonk();
&& AND (ve) operatörü olarak adlandırılır. Öyleyse bir de OR (ya
da) operatörü olmalıdır. Eğer bir değişkenin 5'e eşit ya da başka bir
değişkenin 17'ye eşit olduğunu öğrenmek istiyorsanız:
if (x==5 || y==17) herhangibirfonk();
yazabilirsiniz. 'herhangibirfonk()' fonksiyonu eğer x 5'e eşit olursa
ya da y 17'ye eşit olursa çağırılacaktır.
Eşitlikler JavaScript'te '==' ile belirtilir (Tabii <,>,<= and >=
işaretleri de var). Eğer C/C++ biliyorsanız bu işaretler aynıdır. '='
işareti değişkene değer atamak için kullanılır. '==' ise eşitlik belirtir.
(
http://www.gazi.edu.tr/~ozan/javascript adresinde mirror'u var)
11.Mayıs'96
© 1996 Stefan Koch