2013-11-27 6 views
5

मैं एंगुलरजेएस, यूई-राउटर और jQuery का उपयोग करके एक पृष्ठ की वेबसाइट बना रहा हूं, और मुझे 8 ब्राउज़र का समर्थन करने की आवश्यकता है।
मैंने AngularJS दस्तावेज़ (link) के निर्देशों का पालन किया, और मैंने this भी पढ़ा और इसके निर्देशों का पालन किया।
संक्षेप में:कोणीय जेएस आईई 8 समर्थन

<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="myApp"> 

और यह भी:

<!--[if lt IE 9]> 
    <script type="text/javascript" src="/app/js/3rdparty/html5shiv.js"></script> 
    <script type="text/javascript" src="/app/js/3rdparty/json3.min.js"></script> 
<![endif]--> 

मेरे निर्देशों के सभी विशेषता निर्देशों (कोई कस्टम टैग) के रूप में प्रयोग की जाने वाली प्रतिबंधित कर रहे हैं मैं शीर्षक में इस कोड को जोड़ा।
लेकिन फिर भी, कोई दृश्य प्रस्तुत नहीं किया जा रहा है, और कोई निर्देश काम नहीं कर रहा है (यानी 8 पर)।

मैंने हाल ही में यूई-राउटर का उपयोग शुरू किया, और समस्या पहले भी मौजूद थी।
मुझे वास्तव में समस्या नहीं मिल रही है, और मैंने बहुत कुछ खोजा है।
इसके लिए कई डुप्लीकेट हैं, मुझे पता है, लेकिन उनके किसी भी समाधान ने मेरी मदद नहीं की है (और उनमें से अधिकतर कोणीय के दस्तावेज को काफी संदर्भित करते हैं)।
मैंने कोई अन्य कोड पोस्ट नहीं किया है, क्योंकि इसमें बहुत कुछ है, और मैं वास्तव में यह नहीं समझ सकता कि कोड का कौन सा हिस्सा (index.html के अलावा) किसी भी समस्या का कारण बन सकता है।
यदि आपको लगता है कि यह मदद कर सकता है तो मैं कोई अन्य कोड पोस्ट करूंगा।
मैं वास्तव में खो गया हूं और अगर कोई मुझे समाधान के लिए मार्गदर्शन कर सकता है तो वास्तव में आभारी होंगे।
आपको बहुत धन्यवाद

+0

क्या आप अधिक मार्कअप प्रदान कर सकते हैं? अन्य शामिल स्क्रिप्ट भी महत्वपूर्ण हैं! उदाहरण के लिए, नवीनतम jQuery संस्करण [आईई 8 के लिए समर्थन छोड़ दिया है] (http: //blog.jquery।कॉम/2013/04/18/jQuery-2-0 से जारी /)। –

उत्तर

4

लगता है कि मैंने खुद को मूर्ख बना दिया है।
समस्या यह थी कि मैं कुछ आरक्षित शब्दों का उपयोग कर रहा था, और स्पष्ट रूप से आईई 8 वास्तव में इसे पसंद नहीं करता है।
उदाहरण के लिए मेरे पास ऑब्जेक्ट पर "क्लास" नामक पैरामीटर था, इसलिए obj.class का उपयोग करके आईई 8 फ्रीक बनाया गया।
एक वस्तु के अंदर फिर से "हटाएँ" (नामक प्रकार्य के साथ एक ही है, इसलिए मैं functionHoldingObject.delete उपयोग कर रहा था।

मैं के बारे में सुरक्षित शब्द जानता था, मैं सिर्फ उन्हें का उपयोग कर के रूप में एक वस्तु का एक पैरामीटर हानिकारक है नहीं सोचा था। आदेश इसे ठीक करने के लिए, मैं सिर्फ कुछ के लिए नाम बदल, और उपयोग obj["reservedWord"] दूसरों के लिए, दोनों समाधान सभी ब्राउज़रों पर काम करते हैं।

एक और त्रुटि मैंने पाया कि मैं जानते हुए भी कि IE8 नहीं करता है बिना Array.prototype.indexOf समारोह का उपयोग कर रहा था इसका समर्थन नहीं है। इसलिए मैंने अभी एक कार्यान्वयन जोड़ा है (जो बहुत आसान है)
आपपर उस पर सहायता प्राप्त कर सकते हैं 210 साइट।

0

मुझे संगतता मोड की वजह से हाल ही में एक ही समस्या से मुलाकात हुई है।

<!--[if IE 8]><!--> <meta http-equiv="X-UA-Compatible" content="IE=8" /> <!--<![endif]--> 

इसके अलावा अपने IE8 ब्राउज़र है कि आपके संगतता मोड IE7 नहीं है में जाँच करें:

साथ यह मजबूर करने के लिए प्रयास करें।

+0

कृपया "इसके उत्तर में एचटीएमएल के लिए" और " – Daan

9

यदि आपने अपने नियंत्रक या सेवा या कारखाने के भीतर console.log() का उपयोग किया है तो IE-8 कोणीय को लोड नहीं करेगा। यह अजीब है।

+1

" का उपयोग करें, यह मेरा मामला नहीं था। मैं कोणीय के [$ लॉग] (http://docs.angularjs.org/api/ng/service/$log का उपयोग करने की सलाह देता हूं)) उस के लिए सेवा। लेकिन सिर के लिए धन्यवाद! –

+0

@ सेंथिल- वास्तव में सच है। धन्यवाद – pingu

+0

यह मुझे सिर खरोंच के घंटों के बाद बचाया, धन्यवाद। – DrewT