Saya menggunakan alat pengembang Internet Explorer 11 baru untuk mengalihkan mode dokumen ke "8", tetapi komentar bersyarat masih diabaikan, artinya, komentar tersebut tidak diurai dengan benar dan berperilaku seperti komentar normal. Jadi file referensi apa pun di dalam komentar bersyarat tidak diminta / dimuat oleh browser.
Mengapa ini terjadi? Apakah ini bug?
Jika menurut Anda ini memang bug yang perlu diperbaiki, silakan masuk dan katakan bahwa Anda juga dapat mereproduksi ini di laporan bug Microsoft yang dilaporkan untuk masalah ini:
Komentar bersyarat tidak berfungsi saat meniru mode dokumen melalui F12 Developer Alat .
Pembaruan: Masalah ini telah dilaporkan telah diperbaiki dalam laporan bug yang disebutkan.
internet-explorer
browser
conditional-comments
internet-explorer-11
ie11-developer-tools
thasmo
sumber
sumber
Jawaban:
Menurut untuk
Jacob Rossi [MSFT]
Itu diposting pada 22 April 2014.
Dalam menjalankan beberapa tes sendiri, tampaknya ini telah diperbaiki dan semuanya berjalan lancar lagi untuk menguji browser paling menakjubkan yang pernah dibuat ... Internet Explorer!
sumber
Saya baru saja mencoba menggunakan ini di Internet Explorer 11 pada Windows 7 untuk memastikan elemen semantik HTML5 yang saya gunakan dibuat untuk Internet Explorer 8 dan di bawahnya (melalui komentar bersyarat), dan browser mengabaikannya begitu saja. -_-
Fitur ini bekerja dengan sangat baik di Internet Explorer 10 , dan Microsoft hanya perlu mengotak-atiknya, bukan?
Selain itu, saya sebenarnya menikmati Internet Explorer, yang membuat perubahan.
sumber
Ini berfungsi untuk saya dan sepertinya perbaikan paling elegan / mudah ( Internet Explorer 10 dan Internet Explorer 11 saya kira adalah satu-satunya browser yang mendukung
-ms-high-contract
):sumber
Saya baru-baru ini mengalami masalah yang sama. Saya juga menemukan bahwa beberapa komentar bersyarat berfungsi:
gt
danlt
bekerja dengan baikgte
danlte
tidak pernah berhasilJadi salah satu solusi potensial adalah mengubah pernyataan kondisional untuk menggunakan operator
gt
danlt
.Alternatif lain, yang menurut saya lebih berguna, adalah menggunakan layanan seperti browserstack .
sumber
Saya punya solusi lain untuk ini.
Internet Explorer 11 dengan mode kompatibilitas Internet Explorer 8 diaktifkan berisi string 'MSIE 8.0', jadi:
(Contoh PHP)
sumber
Saya memiliki masalah yang sama - hal itu membuat saya gila sepanjang pagi. Saya menambahkan Modernizr , dan saya memilih semua opsi, termasuk yepnope.js.
Jadi sekarang tes saya terlihat seperti ini:
Dalam hal ini saya menguji kanvas (yang tidak didukung sebelum Internet Explorer 9), jadi saya memuat konten bersyarat saya. Ini sekarang berfungsi saat beralih mode browser di alat pengembang Internet Explorer 11.
sumber
Saya tidak melihatnya disebutkan di sini, tetapi dalam laporan bug ini dicatat bahwa, jika Anda mengubah pengaturan tampilan kompatibilitas, komentar bersyarat berfungsi seperti yang diharapkan. Begitu:
Sepertinya bekerja dengan baik sekarang di localhost saya. Saya belum menguji ini secara ekstensif tetapi mungkin itu akan membantu seseorang.
sumber
Beberapa komentar bersyarat berfungsi seperti '
gt
' dan 'lt
', tetapi misalnya<!--[if IE 8]>
tidak berfungsi. Hal ini tentunya merepotkan bagi pengembang yang ingin mencoba tampilan halaman web mereka di berbagai versi browser Internet Explorer, tetapi tidak semuanya merupakan berita buruk.Meskipun komentar bersyarat tidak berfungsi, Anda masih dapat menguji tampilan halaman web Anda di setiap versi Internet Explorer dengan menambahkan stylesheet satu per satu: misalkan Anda mendapatkan lembar gaya untuk Firefox, Chrome, Internet Explorer 10, dan Internet Explorer 11 disebut '
screen.css
', dan stylesheet lain HANYA untuk Internet Explorer 9 disebut 'screen-ie9.css
' dan satu lagi HANYA untuk Internet Explorer 8 disebut 'screen-ie8.css
'.Untuk menguji halaman web Anda HANYA untuk Internet Explorer 9, Anda dapat melakukan ini:
dan di alat pengembang F12, bagian Emulasi, setel 'Mode Dokumen' ke '9' dan 'String agen pengguna' ke 'Internet Explorer 9'. Mode Dokumen adalah Standar yang digunakan Internet Explorer 9 dan string agen pengguna adalah browser itu sendiri.
PS: Saya berasumsi bahwa '
screen.css
' adalah stylesheet dasar Anda yang merupakan alasan saya memanggilnya terlebih dahulu daripada "menimpa" Internet Explorer 9 nanti akan diperbaiki dengan memanggil 'screen-ie9.css
' kedua.Dengan melakukan ini, Anda bisa "yakin" (saya harus menguji dengan VM untuk menulis kata 'yakin' tanpa tanda kutip) bahwa Anda sedang melihat halaman web Anda di browser Internet Explorer 9. Ketika Anda selesai menguji dan menata di Internet Explorer 9, dan Anda ingin menguji dengan Internet Explorer 8, Anda dapat dengan mudah melakukan trik yang sama dengan mengganti ini:
dengan ini:
Jadi, ini hanya masalah MINOR ketidaknyamanan dari sisi Microsoft, TETAPI alat pengembang F12 baru menawarkan BANYAK fitur luar biasa, yang membuat ini bukan masalah besar.
sumber