Microsoft'un sitesinde, basit doctype bildiriminin yeterli olduğunu iddia ediyorlar. Ancak bu kadar kısa bir belge bile IE7 moduna geri döner:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Microsoft'un sitesinde, basit doctype bildiriminin yeterli olduğunu iddia ediyorlar. Ancak bu kadar kısa bir belge bile IE7 moduna geri döner:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Yanıtlar:
Internet Explorer, çoğu web sayfasının IE'nin önceki sürümlerini hedef alacak şekilde yazıldığını varsayar ve en iyi uyumluluk modunu (bazen yanlış olarak) belirlemek için belge türüne, meta etiketlere ve HTML'ye bakar. HTML5 belge türünde bile IE, bir intranet sitesiyse web sitenizi uyumluluk moduna geçirmeye devam eder.
Web sitenizin her zaman en son standartlar modunu kullandığından emin olmak Display intranet sites in Compatibly
için kapalı olduğundan emin olabilirsiniz . Ancak bunu web sunucusundaki yerel her makinede yapmanız gerekir (talimatlar aşağıdadır).
Alternatif olarak ve daha da iyisi, bunu X-UA-Compatible
sunucudan kapatmak için başlığı kullanabilirsiniz . Meta etiketi kullanmanın işe yaramayacağını unutmamak önemlidir !
<!-- Doesn't always work! -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
MSDN boyunca, bir ana bilgisayar başlığı veya bir meta etiket kullanmanın, intranet sitelerini bile geçersiz kılması gerektiğinden bahsedilir. İnternet explorer 8'deki uyumluluk modlarını anlama makalesi aşağıdakileri söylüyor.
Çok sayıda dahili iş web sitesi Internet Explorer 7 için optimize edilmiştir, bu nedenle bu varsayılan istisna bu uyumluluğu korur. ... Yine, belgeye uyumluluk modu ayarlamak için bir Meta etiketi veya http başlığı kullanılırsa, bu ayarları geçersiz kılar.
Ancak, pratikte bu işe yaramayacaktır, çalışan tek seçenek bir ana bilgisayar başlığı kullanmaktır. Makalenin yorumlar bölümü de bu konunun sayısız örneğini gösteriyor.
Bir Meta etiket kullanmanın, doğrudan <head>
etiketin altında değilse veya ondan önce çok fazla veri varsa (4k) etiketi yok saymak gibi başka sorunları da vardır . Ayrıca, belgenin bazı IE sürümlerinde yeniden taranmasını tetikleyebilir ve bu da işlemeyi yavaşlatır. Bu sorunlar hakkında daha fazla bilgiyi En İyi Uygulama: HEAD'inizi sırayla alın adlı MSDN makalesinde okuyabilirsiniz .
X-UA-Uyumlu başlık ekleme
.NET ve IIS kullanıyorsanız, bunu öğesine ekleyebilir web.config
, bunu programlı olarak da yapabilirsiniz:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
IIS kullanmıyorsanız, herhangi bir dilde yapmak kolaydır. Örneğin, PHP'de bunu şu şekilde yapabilirsiniz:
header('X-UA-Compatible: IE=edge');
X-UA-Compatible
Başlık HTML5 belge türünde olduğu sürece , bir site her zaman en son standartlar modunda çalışır.
Uyumluluk Görünümünü Kapatma Uyumluluk Görünümü'nü kapatmak
yine de yararlı olabilir. Bunu yapmak Display all intranet sites in compatibility view
için Uyumluluk Görünümü Ayarlarında işareti kaldırın .
AltMenüyü almak için tuşuna basarak bunu açabilirsiniz .
Düzenle Bu yanıt aynı zamanda IE9 ile de ilgilidir.
alt
Araç çubuğunu getirmek için küçük kullanın , araçların altında -> uyumluluk görünümü ayarları
Bu benim için çalışıyor ..
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
X-UA-Compatible
Meta etikete sahip, ancak yine de Sayfa Varsayılanı olarak IE10 Standartları belge modunu tetiklemeyen barındırılan bir web sitesi (intranet dışı site) için, meta etiketin komut dosyası etiketlerinin altında yer alması veya yalnızca <head>
DOM ağacının tepesinden çok uzakta olan IE10 ağlar ve belge modunu IE8 Standartlarına ayarlar. Bu nedenle, IE=edge
meta etiketinizi etiketi yakın tutun <title>
. Başlık şablonu dosyasında sabit kodlanmadığında Wordpress siteleri için her zaman basit bir düzeltme değildir. IE11'in meta etiketinin nerede olduğunu umursayıp önemsemediğinden emin değilim, ancak bunun birisine yardımcı olacağını umuyoruz.
Aşağıdaki etiketi başa eklemeyi deneyin
<meta http-equiv="X-UA-Compatible" content="IE=11,IE=10,IE=9,IE=8" />
IE=Edge
yerine bu olmalı
Meta etiket intranet siteleri için hiçbir şey yapmıyor ve benim sorunum IE10 uyumluluk modunda IE10'un oluşturulmasıydı. Benim için sorunu çözen şey, @ Jeow'un yanıtını daha ileri götürmek ve bu değeri bir http başlığında web.config
IIS altına aşağıdakileri ekleyerek kullanmaktı :
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<!-- <add name="X-UA-Compatible" value="IE=edge" /> not good enough -->
<add name="X-UA-Compatible" value="IE=11,IE=10,IE=9,IE=8" />
</customHeaders>
</httpProtocol>
</system.webServer>
IE amaçları doğrultusunda, intranet siteleri dışarıya yönlendirilmemiş halka açık siteleri içerir - örneğin, ofisten çalışan bir Stackoverflow çalışanı muhtemelen stackoverflow.com'u uyumluluk modunda görür.
Aşağıdakileri yaptığımda benim için mükemmel çalıştı:
On http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx
İlk kutuda sağladıkları kesin örneği kullandık (eksikleri </html>
en altına eklediler), IE10'da açtılar ve standartlar zorlandı, sanırım html'de gerçek içeriğe ihtiyacınız olabilir, bunun standartları zorlaması için emin değilim.
Benim önerim boş kodunuzu gerçek içerikle (basit bir şey) değiştirmek ve ne işe yaradığını görmek olacaktır.