Saya telah mengerjakan situs web intranet selama lebih dari 6 bulan jika saya telah menggunakan doctype
tag meta kompatibilitas html5 dan edge di bawah ini untuk memaksa Internet Explorer agar tidak meniru versi browser yang lebih lama, dan ini berfungsi dengan baik.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My title</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>
Alasan saya melakukannya dengan cara ini adalah karena tempat saya bekerja menggunakan pengaturan kebijakan untuk mengaktifkan tampilan kompatibilitas untuk semua situs intranet, dan pendekatan menggunakan EDGE
pengaturan ini telah berhasil di Internet Explorer 9.
Lebih dari sebulan yang lalu saya ditingkatkan ke Internet Explorer 11 dan situs masih berfungsi seperti yang diharapkan.
Hari ini ini berhenti berfungsi seperti yang diharapkan, saya tidak bisa mengatakan dengan pasti tetapi saya pikir kebijakan yang memaksa tampilan kompatibilitas tidak diaktifkan di IE11 dan sekarang ... dan karena ini telah diaktifkan, tag meta kompatibilitas tidak lagi melakukan apa yang diharapkan, dan situs ini dijalankan dalam mode Perusahaan yang mengemulasi IE8.
Adakah yang tahu bagaimana cara memperbaikinya dan memaksa IE11 untuk digunakan di situs intranet ketika kompatibilitas "mode Enterprise" sedang diterapkan? dan tidak dapat dinonaktifkan melalui pengaturan browser?
EDIT
Saya baru saja mencoba menambahkan tajuk khusus di web.config saya seperti yang dijelaskan dalam jawaban ini https://stackoverflow.com/a/18257208/98706
dan ini tidak berhasil untuk saya, saya masih mendapatkan pesan di bawah ini di konsol toolbar pengembang
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
Seolah-olah versi 8 diperlakukan seperti edge
saat pengaturan kompatibilitas intranet ini diaktifkan di IE11.
Posting ini: https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css---disabling-compatability-mode menjelaskan hal ini dengan baik, saya belum mencoba menyetel header ini melalui kode dan pengguna kami tidak memiliki akses untuk mengubah pengaturan browser mereka .. belum ada perubahan lain yang berhasil.
MEMPERBARUI
Silakan lihat komentar saya di posting ini tentang apa perbedaan antara mode Enterprise dan mode kompatibilitas, karena itu penting.
Jawaban:
Yakinkan:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
adalah
<meta>
tag pertama di laman Anda, jika tidak, IE mungkin tidak akan menghormatinya.Atau, masalahnya mungkin IE menggunakan Mode Perusahaan untuk situs web ini:
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
sumber
Masalah ini biasanya disebabkan oleh URL situs web / intranet ditempatkan di salah satu dari:
(dengan Tampilkan situs intranet dalam pengaturan Tampilan Kompatibilitas diaktifkan)
Di jaringan perusahaan, pengaturan tampilan kompatibilitas ini sering dikontrol secara terpusat melalui kebijakan grup . Dalam kasus Anda, Mode Perusahaan tampaknya menjadi penyebabnya.
Sayangnya pengaturan META
X-UA-Compatible
tidak akan menimpa ini.Untuk Pengguna Akhir
Terkadang satu-satunya cara bagi pengguna akhir untuk mengesampingkannya adalah dengan menekan F12 dan mengubah Mode Dokumen di bawah Tab Emulasi . Namun pengaturan ini tidak permanen dan dapat kembali setelah Alat Pengembang ditutup.
Anda juga dapat mencoba mengecualikan situs Anda dari zona Intranet. Tetapi daftar domain yang termasuk dalam zona Intranet biasanya juga dikontrol oleh kebijakan grup, jadi kemungkinannya bekerja sangat kecil.
Untuk melihat daftar domain yang termasuk dalam zona Intranet, buka:
Alat -> Opsi Internet -> Keamanan -> Situs -> Lanjutan
Jika daftar berisi subdomain Anda dan berwarna abu-abu, Anda tidak akan dapat mengganti tampilan kompatibilitas hingga admin jaringan Anda mengizinkannya.
Anda benar-benar perlu menghubungi administrator jaringan Anda untuk mengizinkan perubahan pengaturan tampilan kompatibilitas dalam kebijakan grup.
Untuk Admin Jaringan
Memuat situs web dengan Alat Pengembang terbuka (F12) akan sering melaporkan alasan IE beralih ke mode lama.
Ketiga pengaturan yang disebutkan di atas umumnya dikontrol melalui Kebijakan Grup, meskipun terkadang dapat diganti pada mesin pengguna.
Jika Mode Perusahaan adalah masalahnya (seperti yang terjadi pada poster asli), dua artikel berikut mungkin bisa membantu:
sumber
Bagi mereka yang sedang membangun proyek ASP.NET MVC, pastikan bahwa Anda menambahkan:
tag ke halaman Tata Letak (template) Anda. Saya baru saja menghabiskan dua jam untuk debugging dan tweaking, hanya untuk menyadari bahwa saya hanya menambahkan meta tag itu ke halaman anak saya. Segera setelah saya menambahkannya ke halaman tata letak saya, browser dimuat dalam mode EDGE dengan sempurna.
sumber
Jawaban yang ditandai adalah jawaban yang benar. Namun, Pricey, Anda harus menindaklanjutinya dengan grup admin AD dan desktop Anda. Mereka menyalahgunakan daftar situs Mode Perusahaan IE11. Microsoft TIDAK bermaksud menggunakannya untuk semua situs intranet dalam organisasi sama sekali. Itu akan menyebarkan pengaturan "render semua situs intranet dalam mode kompatibilitas" yang ada yang merupakan kutukan bagi perkembangan situs web perusahaan di seluruh dunia.
Ini dimaksudkan untuk diterapkan sebagai "Daftar hitam", dengan beberapa situs yang benar-benar memerlukan mode browser lama yang tercantum dalam daftar Mode Perusahaan dengan persyaratan rendering yang ditentukan. Semua situs lain di organisasi Anda kemudian dibebaskan untuk menggunakan Edge. Orang-orang di organisasi Anda yang menerapkannya dengan semua situs intranet yang disertakan untuk memulai telah salah paham sepenuhnya tentang bagaimana Mode Perusahaan dimaksudkan untuk diterapkan.
sumber
Pertanyaannya agak lama tetapi saya baru saja memecahkan masalah yang sangat mirip. Kami memiliki beberapa situs intranet di sini termasuk yang saya tanggung, dan yang lainnya memerlukan mode kompatibilitas atau rusak. Oleh karena itu, aturan situs default IE ke mode kompatibilitas di situs intranet. Saya mengupgrade barang saya sendiri dan tidak lagi membutuhkannya; faktanya, beberapa fitur yang saya coba gunakan tidak terlihat benar dalam mode compat. Saya menggunakan tag meta IE-Edge seperti Anda.
IE mengasumsikan situs web tanpa alamat yang sepenuhnya memenuhi syarat adalah intranet, dan bertindak sesuai dengan itu. Dengan pemikiran tersebut saya baru saja mengubah binding di IIS untuk hanya mendengarkan alamat yang sepenuhnya memenuhi syarat, lalu membuat situs web tiruan yang mendengarkan alamat yang tidak memenuhi syarat. Yang kedua mengalihkan semua lalu lintas ke alamat yang sepenuhnya memenuhi syarat, membuat IE yakin itu adalah situs eksternal. Situs merender dengan benar dengan atau tanpa mencentang kotak Mode Kompatibilitas di Situs Intranet.
sumber
Ini adalah masalah lama dengan beberapa informasi yang bagus. Tapi yang baru saya temukan adalah bahwa menggunakan FQDN mematikan mode Compat di IE 9 - 11. Contoh. Saya memiliki masalah compat dengan
http: // lrmstst01: 8080 / JavaWeb / login.do
tetapi masalahnya hilang dengan
http://lrmstst01.mydomain.int:8080/JavaWeb/login.do
NB: .int adalah bagian dari domain internal kami
sumber
Pindahkan ke zona Situs Tepercaya dengan menambahkannya ke daftar Situs Tepercaya atau pengaturan lokal. Ini akan mengeluarkannya dari Zona Intranet dan tidak akan ditampilkan di Compat. Melihat.
sumber
Tambahkan properti di bawah ini ke file web.config untuk situs IIS. Ini bekerja untuk saya di intranet saya di IE11.
sumber
Saya memecahkan masalah ini dengan mengarahkan pengguna ke FQDN dari server yang menghosting intranet.
IE mungkin menggunakan algoritme terburuk di dunia untuk mendeteksi situs "intranet" ... memang, menetapkan server.domain.tld memecahkan masalah bagi saya.
Ya, Anda membacanya dengan benar, IE mendeteksi situs intranet bukan dengan alamat IP pribadi, seperti yang dilakukan oleh pengembang mana pun yang pernah mendengar tentang TCP / IP, tidak, oleh bagian "host" dari URL, jika tidak memiliki bagian domain, harus menjadi internal.
Menakutkan mengetahui bahwa pengembang IE tidak memahami konsep TCP / IP yang paling dasar.
Perhatikan bahwa ini terjadi pada pelanggan perusahaan BESAR, meminta mereka mengubah GPO untuk Anda sama seperti mencoba memindahkan Pegunungan Alpen ke timur sejauh 4 meter, tidak akan terjadi.
sumber
Untuk apa nilainya, saya memiliki masalah juga di IE11:
<!DOCTYPE html>
dan yangIE=Edge
disebutkan dalam pertanyaan<head>
elemen tersebutSetelah beberapa saat, saya menemukan bahwa:
Header HTTP :
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E)
tapiJavaScript :
window.navigator.userAgent === 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko'
Jadi saya akhirnya melakukan pemeriksaan di sisi klien.
Dan BTW, sementara itu, memeriksa agen pengguna tidak lagi disarankan. Lihat https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent (tapi mungkin ada kasus yang bagus)
sumber