Before doing angular follow this document :) http://docs.angularjs.org/guide/ie you will be happy with ie
แปลเป็นไทยนะครับ
สรุปให้ก่อนนะ
- ไม่ควรใช้ custom tag (ถ้าใช้ละจะต้องทำเพิ่ม)
- ใส่ id="ng-app" ไว้ที่เดียวกับ ng-app
- ใส่ json2 หรือ json3 ไว้ด้วย
แบบสั้น
เพื่อที่จะให้ใช้งาน angular ทำงานกับ IE ได้ควรที่ต้องทำตามขั้นตอนนี้นะ
-
ดูจากบรรทัดที่ 4 - 6
- <!doctype html>
- <html xmlns:ng="http://angularjs.org">
- <head>
- <!--[if lte IE 8]>
- <script src="/path/to/json2.js"></script>
- <![endif]-->
- </head>
- <body>
- ...
- </body>
- </html>
- ใส่
id="ng-app"
ไว้ที่เดียวng-app
attribute- <!doctype html>
- <html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
- ...
- </html>
- ห้ามใช้ custom element เช่น <ng:view>, <progress> (ให้ใช้เป็น <div ng-view>, <div progress> แทน) เพราะ IE8 หรืออาจจะต่ำกว่านั้น จะไม่สามารถอ่าน custom element ได้
- ถ้าจะใช้ custom element จำเป็นจะต้องทำตามด้านล่างเพื่อให้ IE ใช้งานได้อย่างมีสุข
- <!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>
ส่วนที่สำคัญคือ (ยังไม่เคยลองเลยไม่มั่นใจครับ):
xmlns:ng
- namespace - you need one namespace for each custom tag you are planning on using.document.createElement(yourTagName)
- creation of custom tag names - Since this is an issue only for older version of IE you need to load it conditionally. For each tag which does not have namespace and which is not defined in HTML you need to pre-declare it to make IE happy.