Your Ad Here

Javascript Yazılım Kuralları (JS)

22 Aralık 2007

Kodlamayla Yazma

Kodlamayla yazarken özen gösterilmelidir. Eğer tarayıcı kodlamayı desteklemezse (Javascript kapalıysa) yazılanlar sayfada gözükmez. Bu işlem, sayfa içeriğinin görüntülenmesini etkilemeyecek biçimde kullanmalıdır. Eğer kodlamayla yazılamayan bölümler varsa <noscript> biçimiyle kullanıcı uyarılmalıdır.

Sayfa yüklenirken yazma

Sayfa yüklenmekteyken kodlama çalışırsa aşağıdakine benzer bir kodlama kullanın:
<script type="text/javascript">
document.write('<p>Ne yazmak isterseniz<\/p>');
document.writeln('<p>Ne yazmak isterseniz<\/p>');
//writeln yazdıktan sonra satır kırılımı ekler
//Bu parçacık HTML kaynak kodunda bir satır kırılımıdır.
//Sayfa görüntüsünde fark olmaz.
</script>

Kodlamanın hangi sayfanın neresinde çalıştığına bağımlı olarak ne yazmak gerekirse onu yazar. Doğal olarak buralara HTML biçimleri ya da program parçaları yerleştirebilirsiniz.

Eğer Olay yakalayıcısı kullanarak yazarsanız (bir resmin "onload" olayı gibi), tüm sayfa yüklenmiş gibi yorumlanabilir ama öyle değildir (yalnız resim yüklenmiştir).

Sayfa yüklendikten sonra yazma


Tüm sayfa yüklendikten sonra kurallar değişir. Sayfanın içeriğine eklemeden, sayfa değiştirilir. Bunu yapabilmek için belge akarını açmak gerekir (eğer doğrudan yazmaya başlarsanız birçok tarayıcı bunu size hazır eder). Ne yazmak isterseniz onu yazıp belge akarını kapatmanız gerekir. Yine bir çok tarayıcı akarı, sizin için kapatır. Mozilla/Firefox tarayıcılar, akarı kapatmazsanız grafikler yükleniyor gibi gösterir. Güvenli olması için her zaman akarı kapatınız.
<script type="text/javascript">
document.open();
document.write('<p>Ne yazmak isterseniz yazın<\/p>');
document.write('<p>Yazmak istediğiniz başka şeyler<\/p>');
document.close();
</script>

Buradaki gösterilmiş olan örnek daha önceki herşeyi siler ve hepsini yazmak istenilenle değiştirir. Bu yöntemi kullanırken <html> biçimlerini ve benzeri şeyleri de kullanmanız gerekir.

HTML biçimlerini kullanırken kapanış biçimlerinde kesmenin önünde ters kesme olduğu kolaylıkla görülebilir. Bu HTML yazma standartıydı. Gerçi tarayıcılar kapanışı ters kesme kullanmadan da anlayabilir.

Kodlamayla HTML yazılabildiğine göre, stil hatta başka kodlamalar da yazabilirsiniz. Eğer </script> yazarken ters kesme yazmayı unutursanız, tarayıcı bunu var olan kodlamanın kapanması anlar ve yazmaya çalışılan kodlama bitmez. hata oluşur.

Aynı şeyler açılan ve kapanan açıklamalar için de geçerlidir (kodlama yazarken neden açıklama yazmak isteneceğini pek anlaşılmasa da kural kuraldır). Bunlar '<'+'!--' ve '-'+'->' biçimde yazılır. Kodlama çalıştığında geçerli HTML açıklaması yaratılır.

Eski tarayıcılarla problemler


Artık gerçek olarak pek kullanılmıyor olsa da, Netscape 4 gibi eski tarayıcılara nazik olmak gerekir. Eğer document.write dinamik olarak div öğesi yazmak için kullanılırsa, div için satır içi stil kullanırken left: ya da top: belirtmemek gerekir. Bu Netscape 4'ü tümüyle çuvallatır ve çok beklenmedik hata oluşur.

Eğer bu yöntem <div style="position:absolute"> yaratırsa daha yüklenirken Netscape 4 tümüyle hata verir. Halbuki yerine kurallara uymasa da <layer> kullanılmalıdır.