Flashcentury
Twitter
Facebook
Linkedin
Rss
friendfeed
Internet Explorer 8 için önceki versiyonlara uyunluluk çözümü

Internet Explorer 8 için önceki versiyonlara uyunluluk çözümü

Yazar Hüseyin Kocak

Kategoriler: HTML

Internet Explorer 8 çıktı ve birçok kişi tarafından yüklendi, kullanılmaya başladı fakat bizim meşhur tarayıcı sorunumuz yeni versiyonu yükleyıp kullanmaya başlamak kadar kolay değil malesef. Internet Explorer 8 bazı kodları kabul etmiyor, Internet Explorer 7 ‘de sorunsuz çalışan sitelerimizin yeni versiyon Internet Explorer 8 ‘de incelediğinizde herşeyin birbirine girmiş bazı javascript ve Css kodlarının çalışmıyor veya beklediğinizden farklı çalışıyor olduğunu göreceksiniz.

Bir önceki makalemde browser uyumsuzluğu hakkındaki sorundan bahsetmiştim ama ağırlıklı olrak Internet Explorer 6 (eski versiyonları) için bir çözümden bahsetmiştim fakat şimdide son versiyon olan 8 için geçici bir çözümden bahsetmek istiyorum;

Eğer sitenizi Internet Explorer 7 ‘ye uygun hazırlamışsanız ve yeni versiyonda sorunlu gözüküyorsa aşağıdaki meta tag ‘ları sayfanızın <head> ve </head> tagları arasına yerleştiriniz.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Bu sayede ziyeretçiniz Internet Explorer 8 kullanıyor bile olsa, sanki Internet Explorer 7 kullanıyor gibi kodlar yorumlanır ve siteniz yeni versiyonda sorunsuz çalışır.

Evet tam anlamıyla bir çözüm olmasada eğer benim gibi zaman sıkıntısı yaşıyorsanız veya Internet Explorer 8 kullanıcısı belli bir sayıya artınca siteyi yeni versiyona göre düzenlerim gibi bir düşünceye sahipseniz yuradaki meta kodları sorununuzu çözecektir.

Ayrıca bu kodu daha eski versiyonlar içinde entegre edebilirsiniz. Bunun için content parametresine uygun browser ‘i yazmanız yeterli.

Örneğin ;

content="IE=EmulateIE8" --> Internet Explorer 8
content="IE=EmulateIE7" --> Internet Explorer 7
content="IE=EmulateIE6" --> Internet Explorer 6

veya

content="IE=7.5" --> Internet Explorer 7.5
content="IE=6" --> Internet Explorer 6
content="IE=5" --> Internet Explorer 5

Ayrıca aşağıdaki parametre ile mevcut olan en son sürümü hedefleyebilirsiniz

content="IE=Edge" --> En son sürüm

Eğer Server size aitse ve tüm sitelere birden uygulamak istiyorsanız web.config dosyanıza aşağıdaki kodları uygulayabilirsiniz (Tavsiye edilmez)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Bu konuda daha ayrıntılı bilgiye Microsoftun resmi sitesinden alabilirsiniz.

Bazen ziyeretcinizin browserini kontrol edip kullanılar tarayıcıya veya versiyonuna göre kodlar kullanmak veya sayfayı bazı uyarılar yazdırmak isteyebilirsiniz. Hatta yukarıdaki bahsetmiş olduğum kodları ilk önce ziyaretcinin tarayıcı versiyonunu kontrol edip eğer gerekirse uygulamak isterseniz aşağıdaki kodları kullanarı kullanarak ziyaretcinizin tarayıcısını kontrol edebilirsiniz.

<!--[if IE]><p>Internet Explorer kullanıyorsunuz.</p><![endif]-->
<![if !IE]><p>Internet Explorer kullanmıyorsunuz.</p><![endif]>

<!--[if IE 7]><p>Internet Explorer 7 Kullanıyorsunuz</p><![endif]-->
<!--[if !(IE 7)]><p>Internet Explorer 7 Kullanmıyorsunuz</p><![endif]-->

<!--[if gte IE 7]><p>Internet Explorer 7 den daha yüksek bir versiyon kullanıyorsunuz</p><![endif]-->
<!--[if lt IE 7]><p>Internet Explorer 7 den daha düşük bir versiyon kullanıyorsunuz</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>Internet Explorer 7 ve Internet Explorer 5.5. arasında bir versiyon kullanıyorsunuz</p><![endif]-->

Evet yukarıdaki kodlar birçok alanda browser uyumu sorunlarınızı çözme yardımcı olabilir özellikle css kodlarında. Örneğin Firefox için ayrı Internet Explorer için ayrı css kodları yazabilirsiniz.

Son olarak ; Farzedelimki Internet Explorer 7 uyumlu bir sitemiz var ve eğer ziyeretçimiz daha yüksek bir versiyon kullanıyorsa makalenin ilk başında bahsetiğim meta tagları uygulayarak Internet explorer 7 ‘ye uyumlu olmasını fakat daha eski bir versiyon kullanıyorsa yeni versiyonu yüklemesine teşvik etmek istiyoruz.

<!--[if gte IE 7]>
/*Versiyon Internet Explorer 7 den yüksekse uyzmlu hale getiriyoruz*/
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<![endif]-->

<!--[if lt IE 7]>
/*Versiyon Internet Explorer 7 den düşükse bir önceki makalemde bahsettiğim jquery 'nin i.e update pluginini kullanarak versiyonu yükseltmeye teşvik ediyoruz*/
<script type="text/javascript">
	/*Jqueryi yüklüyoruz*/ if(typeof jQuery == 'undefined'){ document.write("<script type=\"text/javascript\"   src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></"+"script>"); var __noconflict = true; }
	var IE6UPDATE_OPTIONS = {
		icons_path: "http://static.ie6update.com/hosted/ie6update/images/"
	}
</script>
<script type="text/javascript" src="http://static.ie6update.com/hosted/ie6update/ie6update.js"></script>
<![endif]-->

Yukarıda yaydığım kodlarda eğer versiyon Internet Explorer 7 ‘den küçükse Jquery ‘nin Install IE6 Update plugini yardımıyla yeni versiyonunu yüklettik. Bu konuda daha ayrıntı bilgi için bir önceki makalemi okuyabilirsiniz.

Bir sonraki makalede görüşmek üzere…
Hüseyin Koçak

————————————————————————————————————————————————————–
Bu yazı “Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany” linsansı ile korunmaktadır.

Creative Commons License
Internet Explorer 8 için önceki versiyonlara uyunluluk çözümü by Flashcentury is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany License.
Based on a work at www.flashcentury.net.
Permissions beyond the scope of this license may be available at http://www.flashcentury.net/index.php/ajax-dersleri/internet-explorer-8-icin-onceki-versiyonlara-uyunluluk-cozumu.html.

Bu internet sitesi IntenseDebate yorum sistemini kullanıyor. Yorumlar henüz yüklenemedi, çünkü tarayıcınız JavaScript desteklemiyor veya yorumlar yeterince hızlı yüklenemiyor.

2 Yorum Comments For This Post I'd Love to Hear Yours!

  1. Karlsse diyor ki:

    i am a firefox user more than an internet explorer user but it seems that Internet explorer 8 is very stable and it its loading time for webpages is faster too.

  2. cemilcelik diyor ki:

    Süper bildiri. Çok teşekkürler.

Leave a Comment Here's Your Chance to Be Heard!

21 Ocak 2010

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , ,

Benzer Yazılar