Jquery ve Prototype javascript kütüphaneleri birlikte kullanmak için dikkat edilmesi gereken kurallar.
Günümüzdeki web projelerinde çoğu zaman birden fazla javascript kütüphanesi ile çalışmak zorunda kalabiliyoruz. Javascript kütüphanelerinden günümüzde en çok kullanılan ise Jquery ve Prototype. Bu yetenekli ikiliyi beraber kullanmak istediğimizde birşeylerin düzgün gitmediğini göreceksiniz. Sorunun kaynağı sayfa içindeki nesnelere erişmek için kullandıkları ortak $() fonksiyonundan kaynaklanmaktadır.
Sorunun çözümü ise basit. Jquery kütüphanesini Prototype kütüphanesinden önce yüklemek ve daha sonra Jquery içindeki objelere erişmek için kullandığınız $() yöntemi yerine jQuery() yöntemi kullanmak sorununuzu tamamen çözecektir. Eğer jQuery ile yazılmış ekstra pluginler kullanıyorsanız bu script dosyaları içinde bulunan $() fonksiyonunu jQuery() ile değiştemeniz gerektiğinide unutmayın. Bu işlem ilk başlarda kafanızı karıştırsada ilerde başınızı ağrıtabilecek bir çok script hatasındanda kurtaracaktır. Önerdiğim yöntem sorunun çözümü için kullanabileceğiniz en sağlam yöntemdir.
İkinci bir alternatif olan Jquery tarafından sunulan jQuery.noConflict() fonksiyonu ise çoğu zaman işe yaramamaktadır ve yukarıdaki şekilde yapılandırmanızı ayarlarsanız bu fonksiyona kesinlikle ihtiyacınızda olmayacaktır.
IE8 Hakkında Bilmeniz Gerekenler
IE8 uyumluluk modu / IE8 tarayıcısının IE7 gibi render etmesini önlemek
IE8 içinde bir düğmeye basarak sayfamızı IE7 içinde çalışır gibi davranmasını sağlayabiliyoruz. Bu düğmeye tıklandığında sayfamız bundan sonra IE7 gibi davranmaya başlayacaktır. Peki, IE7 modunda sayfamızın IE8 gibi davranma şansı varmı? Maalesef bunu yapmak mümkün değil. Eğer sayfalarımızı IE8 içinde çalışacak şekilde tasarlamış ve kesinlikle bu modda çalışmasını sağlamak istiyorsak sayfamızın içine aşağıdaki parametreyi eklemek yeterli olacaktır.
-
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Alternatif olarak, eğer tarayıcımızın IE7 gibi davranmasını istiyorsak aşağıdaki kodu eklememiz yeterli olacaktır.
-
<meta http-equiv="X-UA-Compatible" content="IE=7" />
Her ne kadar bu etiketleri ekleyerek IE8′in IE7 gibi davranmasını sağlasakta bu gerçek bir IE7 gibi olmayacaktır. Bu nedenden meta etiketlerinin kullanımını önermiyorum.
IE8 CSS Hack
IE8 için kullanacağım hack yöntemi star hack yöntemini kullarak IE7 ve daha düşük versiyonları hedef alır. Fakat eski IE tarayıcıları için daha farklı hack yöntemleride kullanılabilir.
-
p.myclass {
-
color: green;
-
*color: red;
-
}
-
-
body:last-child p.myclass {
-
color: blue;
-
}
Bu hack yöntemi kullanıldığında myclass sınıfına sahip paragraflar;
- IE7 ve IE6 içinde kırmızı
- IE8 içinde yeşil
- FF, Safari and Opera içinde mavi renk olacaktır.
Görselliği Zenginleştirilmiş Selectbox (Custom Selectbox)
Web tasarımı ile ilgilenen herkezin bir kerede olsa görsel olarak düzenlemeye çalışmış olduğunu düşündüğüm ve ama her seferinde hüsranla sonuçlanan, tarayıcılar içinde görsel olarak belirli bir standarta oturmamış olan SELECTBOX‘tan bahsediyorum.
Hazırladığım projenin amacı sayfamızda bulunan ama ısrarla görsel olarak mudahaleye cevap vermeyen selectboxları bir javascript dosyası yardımı ile görsel olarak biçimleyebilmek.
Evet yanlış duymadınız. Artık sayfamızda bulunan selectboxlar üzerinden görsel olarak mudahale şansınız olacak. Tabiki bu bir ilk değil. Web dünyasında aşağıda linklerini verdiğim siteler gibi daha bir çok örneğini görebilirsiniz.
- http://www.emblematiq.com/projects/niceforms/
- http://info.wsisiz.edu.pl/~suszynsk/jQuery/demos/jquery-selectbox/
Peki Volkan neden bu kastın, zaten alem yapmış neden Amerikayı baştan keşfetmek istiyorsun diyen çıkacaktır aranızda. Belki haklısınız! Belkide;
Biraz BEN yaptım, hazırladım diyerek kendimi iyi hissetmem haricinde Türkiye içinde bu tarzda uygulamaları hazırlayan ve dahada iyilerini hazırlayabilecek bir çok insan tanıyorum. Ama üretmenin yanında hep tüketen, takip eden insanlar olacağımıza birazda üreten ve takip edilen insanlar olmak hoşunuza gitmezmi? Açıkcası benim gidiyor ve fırsatlar oldukça bu tarzda uygulamaları yazmaya devam edicem.
Hazırlamış olduğum kod şu anda tam anlamı ile bitmiş ve optimize değil. İşlerimden kalan zamanlarda kodlamaya devam ediyorum. Yaptığım çalışmaya aşağıdaki linklerden ulaşabilirsiniz.
Kendileri deneme yapmak isteyen arkadaşlar Demo linkine tıklayıp proje ilgili dosyaları indirebilirler.
Sizlerden gelen görüşler doğrultusunda kodları iyileştirmeye ve geliştirmeye devam edicem. Bu proje ile ilgili gelişmeleri Projelerim bölümü altından izleyebilirsiniz.
