2015-03-02 6 views
6

मैं जावास्क्रिप्ट या एचटीएमएल में इस समस्या को हल करने के तरीके के बारे में बुद्धिमान हूं। मेरे पास वर्तमान में यानी 9 और उससे कम के लिए बनाए गए वेब अनुप्रयोगों का उपयोग करने वाले ग्राहक हैं। ये विरासत अनुप्रयोग IE11 पर अच्छी तरह से काम नहीं करते हैं। आईटी समाधान उद्यम मोड को सक्षम करना था। एंटरप्राइज़ मोड को "इंटरनेट एक्सप्लोरर के पुराने संस्करणों पर लिखे गए और परीक्षण किए गए वेब ऐप्स से जुड़े सामान्य संगतता समस्याओं" से बचने के लिए डिज़ाइन किया गया था।आईई 11 - क्या एंटरप्राइज़ मोड को सक्षम/अक्षम करने के लिए कोई तरीका है?

देखें: http://www.eightforums.com/tutorials/43972-ie11-enterprise-mode-enable-disable-users.html

को सक्षम करने से उद्यमों मोड वेब अनुप्रयोग बूटस्ट्रैप और AngularJS का उपयोग करके लिखा पर समस्याग्रस्त हो दिखाई देते हैं। हां, उत्तरदायी तब तक काम नहीं करता जब तक उद्यम मोड अक्षम नहीं हो जाता है। न केवल AngularJS और बूटस्ट्रैप बल्कि अन्य पुस्तकालयों।

जो समाधान मैं खोज रहा हूं वह जावास्क्रिप्ट के माध्यम से उद्यम मोड की स्थिति की जांच करने का एक तरीका है, फिर उपयोगकर्ताओं को या तो मोड को सक्षम/अक्षम करने के लिए कहें। बेहतर, अगर इसे जेएस या एचटीएमएल विशेषताओं के माध्यम से स्वचालित रूप से चालू/बंद किया जा सकता है।

document.x और window.x ऑब्जेक्ट्स में स्नूपिंग, मुझे कोई गुण नहीं दिखता है कि हम मुझे एक संकेत देंगे कि उद्यम मोड सक्षम है। कोई उपाय?

रेप्रो (ओं):

  • IE11> डेवलपर टूल> कंसोल> प्रकार खिड़की
  • IE11> डेवलपर टूल> कंसोल> प्रकार दस्तावेज़
+0

यदि एंटरप्राइज़ मोड संगतता मोड के समान कुछ है, तो आप एक विशिष्ट संस्करण संख्या के विरुद्ध 'document.documentMode' को जांचने में सक्षम होना चाहिए। – user1620220

+0

यह मुझे लगता है जैसे आप [एक्स-यूए-संगत] (https://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible) मेटा टैग की तलाश में हैं । इसे सेट करने के लिए उपयोगकर्ता के अंत में कोई कार्रवाई की आवश्यकता नहीं है, और ब्राउज़र पृष्ठ को ध्यान में रखते हुए, आपके पृष्ठ को उस दस्तावेज़ मोड को निर्दिष्ट करने की अनुमति देता है, जिसे इसे प्रस्तुत किया जाना चाहिए। – Waxen

+1

@ वैक्सन मुझे लगता है कि आईई सेटिंग्स उस टैग को ओवरराइड कर सकती हैं। – user1620220

उत्तर

5

कोई डोम संपत्ति है कि जो इंगित करता है आप ईएमआईई चला रहे हैं। ईएमआईई का पूरा विचार आईई 8 दस्तावेज़ मोड से बेहतर emulate IE8 behavior बेहतर है IE8 व्यवहार को अनुकरण करता है। ईएमआईईई केवल उन विशिष्ट मामलों में उपयोग की जानी चाहिए जहां इसकी आवश्यकता है; इसे थोक इस्तेमाल नहीं किया जाना चाहिए।

कुछ मामलों में ईएमआईई का पता लगाना संभव है। यदि आप पिछले कुछ रिलीज में user-agent strings की सूची में ध्यान से देखते हैं, तो आईई 11 पर ईएमआईई और आईई 11 आरटीएम के लिए उपयोगकर्ता एजेंट स्ट्रिंग के बीच एक उल्लेखनीय अंतर है।

हालांकि, इससे पहले कि आप ले कि अपने जादुई गोली के रूप में, वहाँ दो चेतावनियां हैं:

  1. आप Emie प्रोग्राम के रूप में अक्षम नहीं कर सकता। यह केवल local configuration change है।

  2. आईई 11 के लिए उपयोगकर्ता एजेंट आईई 11 जारी होने की तुलना में आज बिल्कुल अलग है। आईई टीम से रिपोर्ट के आधार पर, यूए स्ट्रिंग तार भी more complicated होने जा रहा है, एक बार विशेष रूप से "आईई स्पार्टन" (या जो भी वे इसे करने के लिए चुन ") हिट।

मेरे सिफारिश? बनाएँ छोटे लॉन्चर पेज जो वेब ऐप के लिए एक साधारण फीचर डिटेक्शन करता है। यदि आप ऐप के लिए आवश्यक चीज़ों के अनुरूप सुविधाओं का पता लगाते हैं, तो ऐप लॉन्च करने के लिए एक लिंक प्रदर्शित करें। यदि सुविधा का पता लगाने IE8, IE11, या जो भी संस्करण का पता लगाने में विफल रहता है आपने लक्षित किया है, अधिक समस्या निवारण जानकारी के लिंक के साथ एक चेतावनी प्रदर्शित करें। किसी भी तरह से लॉन्च लिंक को शामिल करना सुनिश्चित करें।

इस तरह, उपयोगकर्ता की जानकारी आवश्यक है और आपके पास ली है इस मुद्दे को संभालने का ghtweight तरीका, जिसे ऐप में बहुत से अपडेट की आवश्यकता नहीं है।

आशा है कि इससे मदद मिलती है ...

- लांस

+0

आपके सुझावों के लिए धन्यवाद। आपने सही रास्ते की ओर इशारा किया। –

+0

मेरे पास मेरे मुख्य एप्लिकेशन के अंदर एक उप-एप्लिकेशन है जो पॉप अप विंडो में खुलता है। किसी भी तरह मेरा उप एप्लिकेशन एंटरप्राइज़ मोड में खुलता है और मुझे यूआई समस्याएं मिलती हैं। कोई विचार/सुझाव एंटरप्राइज़ मोड में क्यों खुल रहा है? – Saumyaraj

1

जो लोग भी इस समस्या के साथ संघर्ष के लिए। मैंने एमएस आईई टीम को एक फीचर अनुरोध जमा कर दिया है।

देखें: https://connect.microsoft.com/IE/feedback/details/1159543/need-a-way-for-client-side-codes-to-detect-enterprises-mode

मेरे समाधान एक समाधान है कि कंटेनर div की चौड़ाई की जाँच शामिल है। उद्यम मोड उत्तरदायी का समर्थन नहीं करते हैं।

+0

एंटरप्राइज़ मोड का पता लगाने वाली कुछ भी एंटरप्राइज़ मोड द्वारा उपयोग किए जाने वाले IE के संस्करण का पता लगाना चाहिए - उदा। आप आईई 8 और ईएम आईई 8 के बीच अंतर करने में सक्षम नहीं होना चाहिए। यह एंटरप्राइज़ मोड का पूरा बिंदु है। – NetMage

+0

यहां प्रासंगिक उपयोगकर्ता आवाज समस्या भी है: https://wpdev.uservoice.com/forums/257854- माइक्रोसॉफ्ट-edge-developer/suggestions/11265198-need-a-way-to-detect-enterprise-mode-from -client-s – travis

2

मेरे दिमाग में समस्या का कारण यह है कि आईई 11 एंटरप्राइज़ मोड आईई 8 का अनुकरण करता है। लेकिन बूटस्ट्रैप आईई 8 का समर्थन नहीं करता है। इसे दूर करने के लिए बस here वर्णित एचटीएमएल 5 शिम और Respond.js का उपयोग करें।

<script src="js/respond.min.js"></script> 
<script src="js/html5shiv.min.js"></script> 

लेकिन जांच <!--[if lt IE 9]> की तरह बिना - क्योंकि ऐसा लगता है कि यह उद्यम मोड में काम नहीं करता।

बेहतर समाधान होगा ही नहीं, शर्तों के बिना उल्लेख स्क्रिप्ट शामिल हैं, लेकिन < के बजाय उचित हालत पता लगाना आईई 9

समस्या को ठीक करने के साथ AngularJS सिर्फ निम्न मेटा टैग का उपयोग करें:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
+0

या Modernizr का सशर्त रूप से load.min.js और html5shiv.min.js –

+0

लोड करने के लिए या आईई 8 के बजाय एंटरप्राइज़ मोड को IE 9 या IE 10 पर सेट करें या IE 11 के साथ काम करने के लिए अपनी साइट को दोबारा लिखें । – NetMage

संबंधित मुद्दे