मुझे क्रोम को एक आइफ्रेम की सामग्री को jQuery contents ()
। फ़ायरफ़ॉक्स में अपेक्षित निम्न कोड काम करता है, लेकिन क्रोम शरीर की किसी भी सामग्री को वापस नहीं करता है। Iframe दस्तावेज़ मुख्य दस्तावेज़ के रूप में एक ही डोमेन में है और वास्तव में कुछ सामग्री है। (मैं आइफ्रेम दो बार दस्तावेज़ में शामिल करता हूं, प्रत्येक का उपयोग कर .eq (#)
चयनकर्ता को भेद कर रहा है, जिसके कारण jQuery.fn.init [2]
2 तत्व दिखाता है।) के रूप में मैंने नोट किया, यह फ़ायरफ़ॉक्स में काम करता है।
var $ iframe_contents = $ ("iframe")। सामग्री ();
क्रोम डीबगर से अंश
$ iframe_contents: jQuery.fn.init [2] (दस्तावेज़ में 2 iframes हैं) 0: दस्तावेज़ यूआरएल: "के बारे में: खाली" सक्रिय एलेमेंट: शरीर सब: HTMLAllCollection [3]। .. बेसुरआई: "के बारे में: रिक्त" ... ** शरीर: शरीर ** ... बेसुरआई: "के बारे में: रिक्त" ... ** बाल एलेमेंटकाउंट: 0 बाल नोड्स: नोड लिस्ट [0] बच्चे: HTMLCollection [0] * * क्लासलिस्ट: DOMTokenList [0] ... डेटासेट: DOMStringMap dir: "" ... ** firstChild: null firstElementChild: null ** छिपा हुआ: झूठा आईडी: "" ** ** आंतरिक एचटीएमएल: "" आंतरिक टेक्स्ट: "" ** .. ** अंतिम चालीस: नल अंतिम एलेमेंट चाइल्ड: रिक्त ** लिंक: "" स्थानीय नाम: "बॉडी" ..... .....
मेरा मानना है कि मैंने मेरी समस्या का समाधान किया है ऐसा प्रतीत होता है कि फ़ायरफ़ॉक्स अन्य ब्राउज़रों की तुलना में अलग काम करता है। यह iframes लोड करता है और फिर triggers .ready () जबकि क्रोम, सफारी और IE ट्रिगर .ready () iframe से पहले DOM में मौजूद है तो दूसरों के लिए, सुविधा मॉड्यूल को आरम्भ करने से पहले iframe लोड होने तक प्रतीक्षा करें।
No comments:
Post a Comment