İntranet uyumluluk modunu geçersiz kıl IE8


200

IE8 varsayılan olarak intranet web sitelerini uyumluluk moduna zorlar. Meta üstbilgiyi IE8 olarak değiştirmeyi denedim, ancak meta üstbilgiyi kabul etmiyor ve sadece tarayıcı ayarını kullanıyor. Bunu nasıl devre dışı bırakacağını bilen var mı?


1
Benim için çalışan stackoverflow.com/questions/2742853/… 'i deneyin .
David Kolar

2
Bunu sayfalarınızın baş etiketine ekleyin: <meta http-equiv = "X-UA-Uyumlu" content = "IE = 8" /> (istediğiniz IE sürümünü hedefleyin). Bu, tarayıcının uyumluluk modunda (tarayıcı modu olarak adlandırılır) söylendiği gerçeğini DEĞİŞTİRMEYECEKTİR, ancak sayfa IE8 standart modunda işlenecektir. IE8 veya sonraki sürümleri kontrol ediyorsanız "trident" olup olmadığını kontrol etmek için javascript'i değiştirmeniz gerekecektir. Bakınız: blogs.msdn.com/b/mikeormond/archive/2008/09/25/…
n00b

@ n00b - bunun sitem üzerinde bir etkisi yok.
Pete

Anladığım kadarıyla meta etiket, kafa etiketinden hemen sonra bana verilmeli. Bazı komut dosyalarının dizin 0'da başa ekleneceğini fark ettim; bu nedenle meta etiket artık kafa peşinde olmayacak.
AMissico

Yanıtlar:


224

İntranetteki uyumluluk modunu geçersiz kılmak mümkündür.

IIS için web.config dosyasına aşağıdaki kodu eklemeniz yeterlidir. IE9 ile benim için çalıştı.

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <add name="X-UA-Compatible" value="IE=edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer> 

Apache için eşdeğer:

Header set X-UA-Compatible: IE=Edge

Ve nginx için:

add_header "X-UA-Compatible" "IE=Edge";

Ve express.js için:

res.set('X-UA-Compatible', 'IE=Edge')

20
Bu doğru cevap. Meta etiket hiçbir şey yapmaz, ancak yanıt başlığını eklemek işe yarar. Daha fazla bilgi için burayı tıklayın: social.msdn.microsoft.com/Forums/is/iewebdevelopment/thread/…
russau

3
Katılıyorum. Bu, yalnızca bu web sitesi için intranet ayarını doğru olarak geçersiz kıldığından doğru yanıt olmalıdır.
enriquein

9
(açıklığa kavuşturmak için: Belge modu için çalışır, ancak tarayıcı modu için
çalışmaz

21
Bu doğru cevap değil. bu cevap belge modunu değiştirir, önemli "tarayıcı modunu" DEĞİŞTİRMEZ. Hala bu konuda bir çözüm arıyorum.
DeveloperChris

4
.Net'e özgü olduğu için bu doğru cevap değildir (gerçeği bile kabul etmeden).
Daddy32

84

Michael Irigoyen doğru ama AMA biraz daha karmaşık ...

Paul Irish'ın harika kazan plakasını kullanıyorsanız, aşağıdaki gibi bir şeye sahip olacaksınız: -

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

Bu beklendiği gibi ÇALIŞMAZ ve IE'de Intranette uyumluluk moduna zorlar"İntranet sitelerini uyumluluk görünümünde görüntüle" seçeneğini işaretlediyseniz ortamında . İntranet uyumluluk modunu önlemek için koşullu IE yorumlarını kaldırmanız gerekir.

Yani aşağıdaki kod çalışacaktır:

<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

Temel olarak, koşullu IE yorumlarını deyimden önce tetiklerseniz , IE9'u varsayılan ayarlarla çalıştırıyorsanız <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">, bir Intranet ortamında uyumluluk moduna zorlanırsınız .

GÜNCELLEME - EK BİLGİ: Ancak, HTML5 kaynatmanın çalışmasını sağlayacak bir hile olduğunu unutmayın:

DOCTYPE'dan önce boş ve koşullu bir yorum ekleyin . Ayrıca, bunu yaptığınızda , yönerge etrafına koşullu yorumlar da ekleyerek X-UA-CompatibleHTML5 sayfasını da geçerli hale getirebileceğinizi unutmayın. Örneğin:

<!--[if HTML5]><![endif]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->

Bu cevabın ilk bölümünden esinlenen bir blog yazısı daha fazla ayrıntıya sahiptir. Ve bu arada: As o blog yazısında belirtilen, bir de bir ile DOCTYPE önce şartlı yorumunu yerini alabilir yarı koşullu yorumun hiçbir koşul : <!--[]-->. Böylece, şöyle:

<!--[]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->

Ancak, ikinci varyantın ( <--[]--><!DOCTYPE html>), örneğin başka bir soruya verilen bu cevapla açıklandığı gibi , X-UA-Compatioble(IE7 ve IE6 için) desteği olmayan eski IE sürümleri için tarayıcıyı içine getirdiği iyi bilme sorununu aktive edeceğini unutmayın . Alay modu.


Bu benim için problemi çözmedi. Ancak, başlık olarak "X-UA-uyumlu" ekleyerek FYI sorunu çözdü!
Scott Rippey

34

"Araçlar" menüsünü aşağı çekip "Uyumluluk Görünümü Ayarları" nı seçerseniz En alttaki iletişim kutusunda "İntranet sitelerini uyumluluk modunda görüntüle" ayarı bulunur. Sorunu çözmesi gereken bu seçeneğin işaretini kaldırırsanız IE, DOCTYPE tabanlı modu kullanır.


19
Ben aşağı itmedim, ama sanırım kullanıcının bakış açısıyla (bir kullanıcının ne yapması gerekir) cevap verdiniz. Bu soru bir web geliştiricisinden ve kullanıcının özellikle herhangi bir şey yapmasına gerek kalmadan sorunun nasıl çözüleceğini soruyor.
Roy Tinker

1
Ayrıca, bu, eski uygulamalarla uyumluluğun korunmasına izin vermez. Bu ayarın işaretini kaldırırsanız, eski uygulamalarınız bunları güncellemenin bir yolu olmaz. Bence, intranetlerindeki diğer tüm uygulamalar onay kutusunun uyumluluk modu için kontrol edilmesini gerektirdiğinde, standart modunu zorlamanın bir yolunu arıyor.
Andrew Lewis

2
Buna programcı bakış açısıyla cevap verdiğine inanıyorum. "... IE, DOCTYPE üzerindeki mod tabanını kullanacaktır". Bkz. Msdn.microsoft.com/en-us/library/ms535242%28VS.85%29.aspx Şirket Active Directory çalıştırıyorsa, tarayıcı ayarlarındaki değişiklikler yönetici tarafından yayılabilir. Bunu FireFox ile yapamazsın!
Nate Zaugg

@AndrewLewis belki. Ancak, URL çubuğunda tarayıcıyı söz konusu site için uyumluluk modu kullanacak şekilde ayarlayan uyumluluk modu düğmesi vardır. Veya bunları iletişim kutusuna manuel olarak ekleyebilirsiniz. Bir kez daha, bu şeyler küresel olarak BT tarafından yapılabilir.
PilotBob

2
@PilotBob, 120K + kullanıcı ve yüzlerce (binlerce değilse) destekleyecek intranet siteleriniz varsa, bu geçerli bir çözüm değildir.
Nisan'ta yorch

19

Bu sorunun cevaplarında belli bir karışıklık var.

Üst yanıt şu anda http başlığında bir bayrak ayarlayan sunucu tarafı bir çözümdür ve bazı yorumlar meta etiketi kullanan bir çözümün işe yaramadığını gösterir.

Bu blog girişinin uyumluluk meta bilgilerinin nasıl kullanılacağına dair güzel bir genel bakış sağladığını ve tecrübelerimin açıklandığı gibi çalıştığını düşünüyorum: http://blogs.msdn.com/b/cjacks/archive/2012/02/29/using-x- ua-uyumlu-to-create-dayanıklı-kurumsal web applications.aspx

Ana nokta:

  • meta etiket kullanarak ve üstbilgideki bilgileri ayarlama her ikisi de çalışır
  • Meta etiket üstbilgiden önceliklidir
  • Tarayıcının sezgisel yöntemlere dayanmadan önce oluşturma motorunu belirlemediğinden emin olmak için meta etiket ilk etiket olmalıdır.

Önemli bir nokta (ve sanırım bu noktadan çok karışıklık geliyor) IE iki mod "sınıfı" olmasıdır:

  1. Belge modu
  2. Tarayıcı modu

Belge modu oluşturma motorunu belirler (web sayfası nasıl oluşturulur).

Tarayıcı Modu, IE'de hangi Kullanıcı-Aracısı (UA) dizesinin sunuculara göndereceğini, IE'de hangi Belge Modu varsayılanı olduğunu ve IE'nin Koşullu Yorumları nasıl değerlendireceğini belirler.

Belge modu ve tarayıcı modu hakkında daha fazla bilgi bu makalede bulunabilir: http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for- site developers.aspx? yönlendirilen = true

Deneyimlerime göre, uyumluluk meta verileri yalnızca belge modunu etkileyecektir . Yani tarayıcı algılamaya güveniyorsanız, bu size yardımcı olmaz. Ancak özellik algılama kullanıyorsanız, bu yolun yolu olmalıdır.

Bu yüzden bu sözdizimini kullanarak meta etiketi (html sayfasında) kullanmanızı tavsiye ederim:

<meta http-equiv="X-UA-Compatible" content="IE=9,10" ></meta>

Uyarı: test ettiğiniz tarayıcı modlarının bir listesini verin.

Blog yayını ayrıca EmulateIEX kullanımına karşı önerilerde bulunur. İşte bir teklif:

Olduğu söyleniyor, garip bulduğum bir şey bir uygulama EmulateIE7 veya EmulateIE8 istediğinde. Bu öykünme modlarının kendileri kararlardır. Yani, ne istediğiniz konusunda spesifik olmak yerine, iki şeyden birini istersiniz ve daha sonra bu iki şeyden hangisini bir DOCTYPE kodunun başka bir yerine bakarak belirlersiniz (ve sonra DOCTYPE'ın size standartlar verip vermeyeceğini anlamaya çalışırsınız. veya içeriğine bağlı olarak tuhaflıklar - bazen kafa karıştırıcı başka bir görev). Bunu yapmak yerine, kendisinin bir soru olduğu bir yanıt vermek yerine, doğrudan ne istediğinizi belirtmek daha anlamlı olur. IE7 standartlarını istiyorsanız, IE = EmulateIE7 yerine IE = 7 kullanın. (Bunun bir DOCTYPE kullanmamanız gerektiği anlamına gelmediğini unutmayın - yapmalısınız.)


tarayıcı modu nasıl değiştirilir?
Vishnudev K

tarayıcı modu cezası kafa karıştırıcı
Justice Fist

@JusticeFist Evet, haklısın, teşekkürler. Onu geliştirmeye çalıştım.
stefan.s

1
@VishnudevK Bilmemin tek yolu geliştirici araçlarını kullanmak. Ama muhtemelen programlı bir çözüm istiyorsunuz.
stefan.s

9

Bu meta etiketi deneyin:

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

"Intranet sitelerini uyumluluk görünümünde görüntüle" işaretli olsa bile IE8'i IE8 Standart Modu olarak görüntülenmeye zorlamalıdır [intranet veya tüm web siteleri için], IE 8.0.6'da kendimi denedim


15
Hayır. Olmaz.
Dennis C

11
Bu gerçekten doğrudur, ancak sayfadaki tüm META etiketlerinden önce görünmelidir ZORUNLU veya çalışmaz.
Michael Irigoyen

2
Bu benim için işe yaramıyor. Bildiğim kadarıyla IE8s "intranet sitelerini uyumluluk modunda görüntüle" geçersiz
kılınamaz

6
(açıklığa kavuşturmak için: Belge modu için çalışır, ancak tarayıcı modu için çalışmaz. Bu nedenle oluşturma işlemi sabittir, ancak tarayıcı hala IE7 gibi davranır)
codeulike

7

Sistem yöneticimiz, kuruluşumuz için global olarak kutunun işaretini kaldırarak bu sorunu çözdü. Kullanıcıların oturumu kapatmasına bile gerek yoktu.

resim açıklamasını buraya girin


1
İntranetteki tüm siteler en son web standartlarını kullanabiliyorsa bu çözüm mükemmel çalışır. Ancak, eğer bazıları bu yöntem istemeden bunları kıramazsa ... dikkatle yaklaşırdım.
ʙᴀᴋᴇʀ ʙᴀᴋᴇʀ

4

İşaretli İntranet Uyumluluk Görünümü'nü geçersiz kılmak için çalışan bir yanıt buldum. Sayfanızın OnInit etkinliğine bu satırı eklemeniz yeterlidir (meta veya web.config customHeader gerekmez):

Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");

1
Platformu belirtmeden bile platforma özel cevap. Sanırım Visual Studio .NET hakkında konuşuyorsunuz? Bildiğim kadarıyla 'OnInit' olayı var değil (Javascript, Java, PHP, ....)
Stijn de Witt


3

Meta etiketi yalnızca ilk meta etiket olarak değil, yalnızca ÇOK İLK ETİKET olarak da ilk bölümünde İLK ETİKET olarak belirterek uyumluluk modunu geçersiz kılabildim .

@ Stefan.s'e mükemmel cevabını verdiğin için teşekkürler. Ben okumadan önce vardı:

BU ÇALIŞMIYOR

<head> 
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/qmuat/plugins/editors/jckeditor/typography/typography.php"/>
<meta http-equiv="x-ua-compatible" content="IE=9" >

bağlantı etiketini yoldan çekti ve işe yaradı

BU İŞLER :

<head><meta http-equiv="x-ua-compatible" content="IE=9" >

Dolayısıyla, uyumluluk kullanmak üzere ayarlanan bir IE8 istemcisi sayfayı IE8 Standart modu olarak işler - content = 'IE = 9', IE9'a kadar ve IE9 dahil olmak üzere kullanılabilir en yüksek standardı kullanmak anlamına gelir.


2

Bu tam olarak bir çözüm değil, ama en iyisi olduğunu düşünüyorum. İntranet sitelerimizde insanlara yalnızca Firefox tarafından erişilebileceğini söylüyoruz, buradaki IE kullanıcılarına nazikçe bakmıyoruz. Sunucu veya istemci tarafındaki kullanıcı aracısını kontrol edin ve IE'den erişimini engelleyin. Ve ben bir .NET programcısıyım.


1
Fikrini beğendim. ama burada firefox'umuz yok.
Dennis C

22
En kötü. Öneri. Hiç. Bu, yalnızca IE olan tüm intranet siteleri kadar kötüdür. Biraz ekstra iş yapmayı deneyin ve tüm yaygın tarayıcılarda işlerinizi yapın. O kadar zor değil.
mhenry1384

2
@ mhenry1384 Neden kilitli bir intranet sistemine sahip olmak için korkunç bir öneri olduğunu açıklamak ister misiniz? Eski tarayıcılar için kuarkları desteklemenize gerek yoktur. Kullanıcılarınızın amaçlanan deneyimi elde edeceğini biliyorsunuz. Umumi bir sistem değil, kimin umrunda, hala IE 5.5'i destekliyor musunuz? Herkese açık kullanıcılarıma güncelleme yapmasını söylüyorum. Zaten arka uç sistemlerde zamanımı boşa harcamamalıyım, bana ihtiyacı olan kamu. IE 6'ya kilitliyorum ve bazıları gibi ActiveX'e ihtiyacım yok. Örneğin sistemim Firefox 6 ve üstüne izin veriyor. Firefox 27 çıkarsa, hala çalışır. Ya beni küçümseyin ya da gerçek bir tartışma yapın.
Caimen

2
Belirli bir tarayıcıya kilitlenmiş, kullandığım her intranet sitesi IE'ye kilitlendi. Bir sonraki adam kadar IE'den nefret ettiğim için bu beni deli ediyor. Kullanıcılarınızı seçtiğiniz tarayıcıyı kullanmaya zorlamak (onların değil), AMA IE bir şey olsa bile, web'e, intranet webine bile karşıt görünüyor. Özellikle jQuery gibi kitaplıklar kullanıyorsanız, IE7 / 8 / 9'da çalışan bir web sitesini çalıştırmak genellikle o kadar da zor değildir. Kullanıcıların istediklerini kullanmasına izin verin.
mhenry1384

2
Örneğin, Firefox 10 için yazılmış bir site, deneyimlerime göre, IE9 üzerinde neredeyse her zaman değişiklik yapmadan mükemmel şekilde çalışacaktır. Dolayısıyla, kullanıcıların IE9 kullanmasını kısıtlamak, başka bir şey olduğu anlamına gelir. İyi bir web yazılımı yazmaya çalışan birinin değil, düşünsel bir görevde olduğunuzu gösterir. Firefox dışındaki tarayıcıları test etmek için zamana sahip olmama meselesiyse, insanların Opera kullanmasını da kısıtlıyor musunuz? [Çok garip olduğum için özür dilerim. Ben bu lanet IE8 sorunu gidermek için geri dönmeliyim ... :-)]
mhenry1384

1

Bu sorunla mücadele ettim ve benzersiz bir çözüm ve içgörü sağlamaya yardımcı olmak istedim.

Bazı AJAX tabanlı çerçeveler, başında javascripts ve stil sayfalarını enjekte eder <head>ve bunu yapmak iyi kurulmuş meta etiket çözümünün düzgün çalışmasını engelliyor gibi görünmektedir. Bu durumda, Andras Csehi'nin cevabı gibi HTTP yanıt başlığına doğrudan enjekte etmenin sorunu çözeceğini buldum.

Ancak Java Servlet kullananlarımız için bunu çözmenin iyi bir yolu bir ServletFilter kullanmaktır.

public class EmulateFilter implements Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
        FilterChain arg2) throws IOException, ServletException {
    HttpServletResponse response = ((HttpServletResponse)arg1);
    response.addHeader("X-UA-Compatible", "IE=8");
    arg2.doFilter(arg0, arg1);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
}

}

1

Bu sorunu Spring-Apache-tomcat ortamında RequestInterceptor yöntemine tek bir satır ekleyerek çözebiliriz -

//before the actual handler will be executed
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {

// Some logic

// below statement ensures IE trusts the page formatting and will render it acc. to IE 8 standard.
response.addHeader("X-UA-Compatible", "IE=8"); 

return true;
}

Referans kaynağı - Filtre oluşturma ve yanıt başlığını değiştirme Bu sorunu bir RequestInterceptor (Yay) aracılığıyla nasıl çözebileceğimizi kapsar.


0

Web sitenizin IE 8 standart modunu zorlamasını istiyorsanız, bu meta etiketi geçerli bir DOCTYPE ile birlikte kullanın:

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

Düz "IE8" yerine "EmulateIE8" değerini not alın.

IE geliştiricilerine göre, bu "IE8 Standartları modunda Standartlar DOCTYPE'lerini görüntüle; Quirks modunda Quirks DOCTYPE'leri görüntüle. İstemci makinelerde uyumluluk görünümünü geçersiz kılmak ve Standartları IE8 Standartlarına zorlamak için bu etiketi kullanın."

Bu IE blog yayını hakkında daha fazla bilgi: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx


0

Bu soru, intranetteki "Internet Explorer 8" tarayıcı modunun bir kopyasıdır .

Buradaki yanıtlar, uyumluluk görünümünü (sunucu tarafında) devre dışı bırakmanın mümkün olmadığını gösteriyor - https://stackoverflow.com/a/4130343/24267 . Kesinlikle böyle görünüyor, çünkü denediğim önerilerin hiçbiri işe yaramadı. IE8'de ne tür bir X-UA-Uyumlu başlık gönderirseniz gönderin "Tarayıcı Modu" Internet Explorer 8 Uyumluluk görünümüne ayarlanır.

Tarayıcı IE8 kullanarak render neden IE7 ve uyumluluk modu için bazı özel işlem yapmak zorunda kaldı ama IE7 olduğunu rapor, benim kod kırdı. Kodumu bu şekilde sabitledim (bu korkunç bir kesmek olduğunu biliyorum ve ben tarayıcı sürümleri değil özellikler için test olmalı):

isIE8 = navigator.appVersion.indexOf ("MSIE")! = -1 && parseFloat (navigator.appVersion.split ("MSIE") [1]) == 8;
if (! isIE8 && navigator.appVersion.indexOf ("MSIE")! = -1 && parseFloat (navigator.appVersion.split ("MSIE") [1]) == 7 && navigator.appVersion.indexOf ("Trident") ! = -1) {
    // Yalancı, bu IE8 uyumluluk modunda.
    isIE8 = doğru;
}

0

Aynı sorun vardı. Kullanarak çalıştı

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

0

Bunu sayfalarınızın kafa etiketine ekleyin (istediğiniz IE sürümünü hedefleyin):

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

Not bu tarayıcının uyumluluk modu diyor gerçeğini değiştirmez ETMEYECEKTIR (tarayıcı modu olarak adlandırılır), ancak sayfa olacak IE8 Standartlar modunda işlemek. Eğer STILL nasıl istediğinizi oluşturmuyorsa, bunun nedeni büyük olasılıkla IE sürümünü kontrol eden javascriptiniz olması. Aşağıdaki blog yayınına bakınMeta X-UA-Uyumlu etiketini ayarlasanız bile, kullanıcı aracısı dizesi yine de MSIE 7.0 diyeceği için hangi özelliği kullanmanız gerektiğini belirlemek .

Benim durumumda, düzeltme için IE7 Uyumluluk modu için bir kontrol eklemek zorunda kaldım. Basit bir javascript kodu kullanarak yaptım:

                //IE8 and later will have the word 'trident' in its user agent string.
                if (navigator.userAgent.indexOf("Trident")>-1) { //do something }

0

Bunu tüm kullanıcılar için GPO aracılığıyla devre dışı bırakmak isteyen bunu okuyan herkes için, bu ayar:

Bilgisayar Yapılandırması / Yönetim Şablonları / Windows Bileşenleri / Internet Explorer / Uyumluluk Görünümü / Yerel İntranet için Internet Explorer Standartlar Modunu Açma

web.config düzenlemesi benim için düzeltmesine rağmen.


Yerel Grup İlkesi Düzenleyicisi'ne gitmek için , Çalıştır'dan gpedit.msc dosyasını çalıştırabilirsiniz.
ROMANIA_engineer


0

Stefan S'nin belge modu ve tarayıcı modu hakkındaki yorumu sorunum için çok uygun.

Sayfada X-UA-Content meta verileri var, ancak tarayıcı sürümünü istemci tarafında test ediyordum navigator.appVersion. Bu test meta verileri yansıtmaz çünkü tarayıcı moduna belge moduna değil.

Benim için cevap şöyle bir document.documentModeşeyi test etmekti :

function IsIE(n)
{
    if (navigator.appVersion.indexOf("MSIE ") == -1) return false;
    var sDocMode = document.documentMode;
    return (isFinite(sDocMode) && sDocMode==n);
}

Şimdi, meta X-UA-Content etiketim tarayıcı testime yansıyor.

Neden tarayıcıyı test etmek gibi kaşlarını çatmış bir şey yapıyorum? Hız. Tablesorter gibi benim jQuery eklentileri çeşitli IE6 / 7 üzerinde çok yavaş ve onları kapatmak istiyorum. Tarayıcı özelliklerini test etmenin, bunu aksi takdirde çözmeme yardımcı olabileceğinden emin değilim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.