5

का उपयोग कर संगतता मोड में बल IE9 को मजबूर करें मेरे पास एक फ्रेम है जिसके लिए संगतता मोड की आवश्यकता है लेकिन पैरेंट फ्रेम इसे स्थापित कर रहा है, इसलिए फ्रेम के अंदर निम्न टैग कुछ भी नहीं करता है।जावास्क्रिप्ट

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

क्या फ्रेम के लिए कंपैट मोड लागू करने के लिए वैसे भी है, या फ्रेम मूल फ्रेम पर कंपैट मोड लागू करता है।

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

+0

दुर्भाग्य से ऐसा नहीं किया जा सकता है। आईई फ्रेम में हमेशा मूल दस्तावेज़ के प्रतिपादन मोड का उपयोग करें। मुझे लगता है कि चूंकि आप मूल दस्तावेज़ को नहीं बदल सकते हैं कि वे एक ही डोमेन पर नहीं हैं इसलिए क्रॉस-डोमेन सीमाएं आपको फ्रेम से पैरेंट दस्तावेज़ के प्रतिपादन मोड को बदलने से रोकती हैं। – pseudosavant

+0

मैं एक ही डोमेन पर हूं, लेकिन यह एक बड़ी विरासत ऐप है, हजारों पेज। बस पूरे शेबांग पर संगतता मोड सेट करना लगता है कि आईई 7 समर्थन चरणबद्ध होने पर सड़क के नीचे और अधिक परेशानी मांगना है। हालांकि अगर मैं बच्चे को एक पृष्ठ पर माता-पिता के दस्तावेज़ को बदल सकता हूं, तो यह वही है जो मैं चाहूंगा। मेरे मामले में क्रॉस-डोमेन सीमाएं कोई समस्या नहीं हैं। – Serhiy

+0

यदि आप ओपन के साथ iframe खोलते हैं, तो iframe के पास opener.set_XUA ("IE = EmulateIE7") जैसे कुछ करने के लिए ओपनर तक पहुंच होगी। ऐसा करने के लिए, आप iframe के नाम के साथ खुले उपयोग के रूप में उपयोग कर सकते हैं, इसलिए यह पृष्ठ को खोलने के लिए iframe का उपयोग करें। यह इसके लायक होने से अधिक परेशानी हो सकती है। – Tei

उत्तर

2

तो यहां मैंने जो कुछ एकत्र किया है।

काम करने के लिए एकमात्र चीज मेटा टैग तरीका है।

हालांकि, यह फ्रेम में काम नहीं करता है क्योंकि आईई 9 ने एक फ्रेम की क्षमता को दूसरे प्रकार की तुलना में अलग-अलग प्रकार की क्षमता को अक्षम कर दिया है।

मेटा टैग को स्क्रिप्ट या लिंक टैग, पहले और अन्य मेटा टैग से पहले भी नहीं देखा जा सकता है, अन्यथा यह भी विफल रहता है।

परीक्षण का मामला:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
     <title>Test test</title> 
     <meta name="keywords" content="keywords, keyword, keyword phrase, etc."> 
     <!--<link href="test.css" rel="stylesheet" type="text/css" />--> 
     <!--<script type="text/javascript">alert('test');</script>--> 
     <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
    </head> 
    <body> 
     inline-block <div style="display:inline-block">test</div> 
    </body> 
</html> 
1

मेरे सिर के ऊपर से आप मेटा टैग बनाने और पैरेंट फ्रेम हेड में डालने का प्रयास कर सकते हैं। मुझे यकीन नहीं है कि अगर यह अनुकरण को मजबूर करेगा।

var meta = document.createElement('meta'); 
meta.setAttribute('http-equiv', 'X-UA-Compatible'); 
meta.setAttribute('content', 'IE=EmulateIE7'); 

parent.document.getElementsByTagName('head')[0].appendChild(meta); 
+0

दुर्भाग्यवश यह काम नहीं करता है ... :( – Serhiy

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