“X-UA-Compatible” content = “IE = 9; IE = 8; IE = 7; IE = EDGE ”

233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. Sebenarnya apa arti dari pernyataan ini?

  2. Beberapa contoh digunakan ,untuk memisahkan versi IE, sementara yang lain menggunakan ;; yang mana yang benar?

  3. Urutan IE=9; IE=8; IE=7; IE=EDGEmemiliki beberapa kepentingan, saya ingin tahu itu.

Sunting : Saya menggunakan<!DOCTYPE html>

Kuttan Sujith
sumber
saya pikir IE = 9 tidak cocok untukX-UA-Compatible
Krish
3
Google sebenarnya merekomendasikannya: developers.google.com/web-toolkit/doc/latest/DevGuideIE9
PlantTheIdea

Jawaban:

328

Jika Anda mendukung IE, untuk versi Internet Explorer 8 dan di atasnya, ini:

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

Memaksa browser untuk merender sebagai standar versi tertentu itu. Itu tidak didukung untuk IE7 dan di bawah ini.

Jika Anda memisahkan dengan titik koma, itu menetapkan tingkat kompatibilitas untuk versi yang berbeda. Sebagai contoh:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Membuat IE7 dan IE8 sebagai IE7, tetapi IE9 sebagai IE9. Ini memungkinkan untuk berbagai tingkat kompatibilitas ke belakang. Namun, dalam kehidupan nyata, Anda hanya harus memilih salah satu opsi:

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

Ini memungkinkan pengujian dan pemeliharaan yang jauh lebih mudah. Meskipun secara umum versi yang lebih berguna dari ini menggunakan Emulate:

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

Untuk ini:

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

Ini memaksa browser membuat apa pun standar versi terbaru.

Untuk informasi lebih lanjut, ada banyak untuk dibaca tentang MSDN ,

PlantTheIdea
sumber
9
urutan IE = 9; IE = 8; IE = 7; IE = EDGE memiliki beberapa kepentingan, saya ingin tahu itu
Kuttan Sujith
Saya memiliki sedikit celah dalam pemahaman saya tentang ini. Jika target saya untuk pengujian adalah IE8, tapi saya tidak ingin merusak IE7, Anda akan mengatur meta tag ini? Dan apakah ada browser lain yang menggunakan ini?
Snekse
2
IE7 tidak akan mengenali ini, itu diterapkan pertama kali di IE8. Seluruh referensi ke IE7 di atas adalah jika, misalnya, Anda menggunakan IE7 sebagai dasar untuk pengujian, dan ingin semua versi IE yang lebih modern untuk ditampilkan seperti dalam standar IE7. tidak ada browser lain yang menggunakan tag ini.
PlantTheIdea
1
IE10 membuat aplikasi web lama dengan IE = 8 (YMMV), namun emulasi IE11 dari IE8 rusak. UA ini: content="IE=8; IE=11"memberikan mode browser IE10 Compat Document mode IE8 standar di IE10, dan Document mode edge di IE11. Salah satu masalah dengan penugasan IE10 dan IE11 UA adalah bahwa Microsoft menghapus komentar bersyarat .
Undervers
Berdasarkan meta tag itu, IE11 tidak akan meniru IE8, itu akan menganggap IE11 (seperti yang diberikan dalam daftar yang dipisahkan titik koma). Daftar itu juga akan menjelaskan fallback ke standar IE8 karena IE10 tidak menyadari keberadaan IE11, seperti halnya IE8 tidak dapat menerapkan standar IE9. Sudahkah Anda mencoba menggunakan saja content="IE=8"? Atau, lebih disukai content="IE=EmulateIE8",?
PlantTheIdea
4

Dalam kasus tertentu, mungkin perlu untuk membatasi tampilan halaman web ke mode dokumen yang didukung oleh versi Internet Explorer yang lebih lama. Anda dapat melakukan ini dengan menyajikan halaman dengan header yang kompatibel dengan x-ua. Untuk info lebih lanjut, lihat Menentukan mode dokumen lawas.
- https://msdn.microsoft.com/library/cc288325

Dengan demikian tag ini digunakan untuk bukti halaman web di masa depan , sehingga mesin yang lebih lama / kompatibel digunakan untuk merendernya dengan cara yang sama seperti yang dimaksudkan oleh pembuatnya.

Pastikan Anda telah memeriksanya agar berfungsi dengan baik dengan versi IE yang Anda tentukan.

Ujjwal Singh
sumber