Versi pendek
Untuk memastikan aplikasi Angular boleh berfungsi pada IE sila sahkan:
1. Polyfill JSON.stringify pada IE7 atau lebih awal. Anda boleh menggunakan JSON2 atau JSON3 untuk polyfill.
<!doctype html> <html xmlns:ng="http://angularjs.org"> <head> <!--[if lte IE 7]> <script src="/path/to/json2.js"></script> <![endif]--> </head> <body> ... </body> </html>
2. Tambahkan id="ng-app" pada elemen akar pada titik sambungan dan gunakan atribut ng-app
<!doctype html> <html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName"> ... </html>
3. Anda tidak boleh menggunakan teg unsur tersuai seperti 4 Jika anda mesti menggunakan tag elemen tersuai, maka anda mesti mengambil langkah berikut untuk memastikan bahawa IE8 dan versi terdahulu boleh digunakan: 5. Gunakan teg gaya ng bukannya style="{{ someCss }}". Versi seterusnya akan berfungsi di bawah Chrome dan Firefox tetapi bukan versi IE <= 11 (versi terkini pada masa penulisan). Maklumat versi IE mempunyai banyak masalah dengan elemen tag bukan standard. Masalah ini boleh dibahagikan kepada dua kategori yang luas, masing-masing mempunyai penyelesaiannya sendiri.
Apa yang akan berlaku jika saya tidak melakukannya?
penamaan teg tersuai gaya CSS
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
<head>
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->
</head>
<body>
...
</body>
</html>
Bahagian penting ialah:
Berita baik
<html>
<body>
<mytag>some text</mytag>
</body>
</html>
#document
+- HTML
+- BODY
+- mytag
+- #text: some text
#document
+- HTML
+- BODY
+- mytag
+- #text: some text
+- /mytag
. / adalah pilihan, tetapi teg
tidak dibenarkan untuk mempunyai elemen kanak-kanak.
<html xmlns:ng="needed for ng: namespace">
<head>
<!--[if lte IE 8]>
<script>
// 需要确认ng-include被正常解析
document.createElement('ng-include');
// 需求启用CSS引用
document.createElement('ng:view');
</script>
<![endif]-->
<style>
ng\:view {
display: block;
border: 1px solid red;
}
ng-include {
display: block;
border: 1px solid blue;
}
</style>
</head>
<body>
<ng:view></ng:view>
<ng-include></ng-include>
...
</body>
</html>