
HOŞGELDİNİZ , Toplam : 1527
Yazı dizimizin giriş bölümünde JavaScript'in kısa tarihi, ne olup ne olmadığı ve bugüne kadar yayınlanan JavaScript versiyonları hakkında bilgi sahibi olmuştuk. Artık JavaScript ile yapabileceklerimiz ve nasıl yapabileceğimiz ile ilgili fikirler edinip adımlarımızı sıklaştırmanın vakti geldi. Öyleyse dikkat kesilip bu konudaki yazımızı okumaya başlayabilirsiniz.
Netscape firmasının JavaScript dilini geliştirmesindeki amaç HTML(Hyper Text Markup Language - Zengin Metin İşaretleme Dili)' nin dinamik web sayfaları hazırlamak için sunduğu olanakların yok denilecek kadar az olmasıydı. Bu yüzden kısaca HTML ile yapamadıklarımızı JavaScript ile yapabiliriz denilebilir. Tabi bu tanım yazıya son noktayı koymak için yeterli olmayacağından biraz daha açıklama yapmamız gerekiyor.
JavaScript istemci-taraflı(client-side) bir dil olduğu için JavaScript ile yazılan kodlar web sunucusunda(server) değil, kodların içinde bulunduğu sayfayı gezen ziyaretçinin-ki burada ziyaretçiye istemci de diyebiliriz- bilgisayarında çalışır. Yani ilk olarak ziyaretçi tarayıcı programının URL bölümüne bir web sayfasının adresini yazıp onay vererek bu sayfanın görüntülenmesi için istemde bulunur; web sunucusu da bu istemi kabul ederek dosyaların iletimine olanak tanıdıktan sonra sayfa, tüm içeriğiyle birlikte ziyaretçinin bilgisayarında belli bir tampon alana(cache) yüklenerek bu alandan çalıştırılır. İşte JavaScript kodları da web sayfasıyla beraber iletilen içerikler arasındadır.
Bu noktaya kadar edindiğimiz bilginin ışığında JavaScript kodlarının web sayfasından bağımsız çalışabilecek programlar olmadığını anladık. Peki JavaScript'i sayfamıza nasıl bağlayabiliriz? Aslında terminolojide bu işlemi tanımlamak için "bağlamak" yerine "gömmek" sözcüğünü tercih ediyoruz. Evet, JavaScript kodları web sayfasını oluşturan html kodlarının içine gömülür ve html kodları yorumlanırken işlerlik kazanır. Buna göre eğer ortada bir script uygulaması varsa html belgesi de olmak zorundadır. Bazı durumlarda tüm html belgesinin JavaScript ile oluşturulması da söz konusu olabilir; ileride bu konuya geniş olarak değineceğiz. Şimdi biraz html bilgilerimizi gözden geçirelim...
Tüm HTML içeriğinin "<html>" ve "</html>" etiketleri arasına alınarak işaretlendiğini biliyoruz. "<html>" etiketinden sonra gelen "<head>" bölümünde belge içeriğini tanıtmak amacıyla bir takım bilgiler verilir. "<body>" ve "</body>" etiketleri arasına yazdıklarımız ise sayfanın gövde kısmıdır; sayfada yer almasını istediğimiz yazı, grafik, ses gibi tüm öğeler bu kısımda belirtilir. Sadece bu etiketlerden oluşan temel HTML sayfasının kod dizilimi aşağıdakine benzeyecektir :
<html> |
JavaScript kodları genel olarak "<head>..</head>" etiketleriyle sınırlandırılan bölüme eklenir. Ancak özel durumlarda belgenin gövde kısmına eklendiği de görülebilir. Biz gerçekleştireceğimiz ilk uygulamada birinci yöntemi kullanacağız. Öyleyse metin editörünü(Windows altında "Notepad", Linux'ta "Kate" önerilir) açıp bir çırpıda aşağıdaki kodları yazalım :
<html> |
Dosyayı "merhaba_dunya.htm" adıyla kaydettikten sonra simgesine tıklayıp açalım. Açılan sayfadaki düğmeye tıklayınca ilk JavaScript kodumuzun(hatta fonksiyonumuzun) icra edilmesi sonucunda görüntülenen uyarı kutusu bizi selamlayacaktır. Peki bunu nasıl yaptık? Veya şöyle soralım : Salt html kodu yazarak bu uyarı kutusunun görüntülenmesini sağlabilir miydik? Tabiki hayır! O halde html içine gömdüğümüz JavaScript kodumuzu derinlemesine inceleyerek bazı gerçekleri su üstüne çıkaralım;
<script language="JavaScript">" ifadesi script dilinin JavaScript olduğunu belirtiyor. Eğer belli bir JavaScript versiyonuna ait komutlar kullanılacaksa ilgili versiyon numarası belirtilmelidir. Örneğin "<script language="JavaScript1.2">" gibi.<!-- -->" işaretleri arasına alınır. Bu yolla eski tarayıcıların JavaScript kodlarını yorum-açıklama satırı olarak algılaması sağlanır. Yani kodlar ne icra edilir ne de düz-metin olarak tarayıcı ekranında gösterilir.Buraya kadar herşey anlaşıldıysa su üstüne çıkardığımız gerçekleri kurulamanın zamanı geldi demektir(!) Yukarıdaki listede belirttiğimiz noktalar ışığında diyebiliriz ki; evet, JavaScript nesne-yönelimli(object-orianted) bir dildir. Çünkü JavaScript kodları html etiketleri kullanarak oluşturulan nesneleri kontrol eder ve nesnelere uygulanan olaylar sonucunda icra edilir. Örneğin "BODY" öğesi veya örneğimizde kullandığımız "INPUT" unsuru birer nesnedir. Aynı şeklide "alert()" komutuyla görüntülettiğimiz uyarı kutusu da bir nesnedir. Bu yüzden bilmeniz gereken en önemli nokta, JavaScript uygulamaları hazırlamaktaki amacın Web tarayıcısı programın bir/bir çok unsuruna-nesnesine müdahale etmek veya bir nesne oluşturmasını sağlamak olduğudur. Sözgelimi bazı web sitelerinde karşılaştığınız kaydırma çubuğu olmayan ve/veya belirli boyutlarda kendiliğinden açılan pencereler bu tanıma güzel bir örnek olabilir. Veya kursörü üzerine taşıyınca değişen grafikler, aşağı-yukarı kayan metinler, sayfayı ne kadar kaydırırsanız kaydırın konumu değişmeyen iletiler,vs,vs...
Şimdi, hazırsanız iyi haberi veriyorum : Siz de artık bir OOP(object-orianted program) kod geliştiricisi olabileceksiniz... Henüz bu konuyla yeni ilgilenmeye başlamışsanız ve bu yazıdaki bazı kavramları anlamakta zorluk çekiyorsanız, merak etmeyin, çünkü yazı dizimiz ilerledikçe bu kavramlar hakkındaki bilgilerinizi arttıracak, sağlamlaştıracağız. Bu defa size vereceğim kötü bir haber yok. Umarım iyi haberlerin sayısı gün geçtikçe artar.
Bir sonraki yazımızda, JavaScript kodlarını nasıl ayrı bir dosya olarak kaydedip html belgemize ekleyebileceğimizi görecek, DOM hakkında kısa bir ön bilgi edineceğiz. Genel programlama bilgisi de sayılabilecek olan yazım kurallarına değindikten sonra bazı temel bilgileri aktararak JavaScript dünyasındaki adımlarımızı hızlandıracağız. Artık Türkçe JavaScript referans dökümanlarımızı oluşturmaya başlayabiliriz. Unutmayın; eğer programlamayla yeni ilgilenmeye başladıysanız, bu büyülü evrenin küçük bir gezegeni olan JavaScript dünyasını keşfettikten sonra "olay ufku"nu daha net görebilirsiniz!
Sizden önce 1608 kişi okudu.
İlk yorumu yazan siz olmak ister misiniz?
Atom Nedir ?
Bilgisayar
Virüslerden Nasıl Korunuruz ?
Arama Motorları ve Hukuki Durumları
İnternette hız rekoru kırıldı
MSN Nickleri
MSN ifadeleri
Random Quit
Kanaldaki +i modunu istediğin nicke yansıtmamak
Who nedir, nasıl kullanılır
Sabit sürücü nedir?
DVD sürücü nedir?
Disket sürücü nedir?
CD Sürücü nedir?
Yeni Intel işlemciler 2008'de
Desibel Nedir
Kondansatör
Güç kaynağı nedir?
Japonlar dünyanın en hafif dijital kamerasını üretti
Adım Adım Panel Televizyonlar
Bazı atıkların denizde yok olma süreleri
İnsan Sesi Nasıl Oluşur ?
Ezop Kimdir ?
Okyanus Ne Kadar Derindir?
Türk Tarihinde İlk Kadınlar
Terimler (Piksel, Rezolasyon, Anti-aliasing)
Photoshop ile Template düzenlemek
Photoshop Dersleri(insanı uzaylıya çevirme)
Photoshop Dersleri(Yıldırım Yapımı)
Photoshop Dersleri(Alevli Yazı Yapımı)
Güvenlik duvarı (firewall) nedir?
Bilgisayarımızdaki virüsleri temizleyelim.
Sanal dünyada oltaya gelmeyin
Virüslü sevgililer günü maili
Mono's XSP ASP.NET Sunucusunda Güvenlik Açığı
Unix
İşletim sistemi nedir?
Microsoft Tahiti Beta'yı deniyor
Microsoft tazminata mahkum oldu
Korsan Windows ta milat 20 Şubat
bilgisayar.tv uzantılı ücretsiz 2 gb mail
Elektronik posta sunucusu
Posta hesaplarının oluşturulması ve yönetimi
Hotmailiniz 2GB'a Çıkarın ve Hotmail Beta'ya Sahip Olun
SMTP Local Mail Kurulumu
MSN Avatarları
MessengerDiscovery Live 1.2.0211
Mail MSN Hacklenme yada çalınma durumlarında yapılması gerekenler
Msn e Format
MSN yüklemeden internet üzerinden mesajlaşma
Japonya Yeni Bir İnternet Arıyor
Multimedia nedir?
İnternet tehlike altında
Windows XP de ADSL hızını artıralım.
Türk Telekom ADSL hızını yükseltmeye hazırlanıyor.
Alone in the Dark
Knightonline Levellara Göre Görevler
Knightonline Kullanıcı Ara Yüzü
Click&Buy üyelik alımı(adım adım anlatım)
Ogame Başlangıç Taktikleri
Tune up utilities 2006
Winamp ta ses kalitesi nasıl yükseltilir
Kamerayla çektiğimiz görüntüleri DVD olarak kaydedelim
Windowsunuzu tek tık ile hızlandırın
Resimlerinizi ASCII Karakterlere dönüştürün
Dosya Uzantıları ve Açıklamaları
Delphi ile Network Üzerinden Veri İletimi
Delphi de Dosya Arama Fonksiyonları
Delphi′de TIniFile ve TRegIniFile Bileşenleri
Asp ile Cookie Yaratmak
Arama Motoru Optimizasyonu (Arama dışı optimizasyon)
Meta tag SEO Optimization
Lycos' a Php Nuke 7.6 Kurulumu
Joomla Kurulumu ve Yönetimi
Web Sitesi ve CGI Uygulamalarinin Güvenligi
13 Kentte Dijital Yayin 6 Ay içindeBaşlar
Antenler Tarihe Karışacak
Vestel Aphro Menü Key Dosyası Polsat Ok 05-01-2007
Goldmaster 4000-9000 Serisi Yukleme Programları
Goldmaster 8000-10200 Serisi Yukleme Programları
Yaz sıcakları ve gebelik
Gebelikte seyahat
Gebelik planlaması
Doğum sonrası depresyon
Çalışan kadın ve hamilelik