2014-05-01 6 views
5

में आग मैं IE के साथ एक मुद्दा जहां आइफ्रेम के "ऑनलोड/लोड" घटनाओं सक्रिय नहीं होगा जब मैं गतिशील आइफ्रेम बनाने के लिए, एक PDF करने के लिए अपने स्रोत की स्थापना की और से संलग्न है दस्तावेज़।ऑनलोड घटना कभी नहीं आईई

कारण मुझे सुनने की आवश्यकता है क्योंकि मुझे फ्रेम लोड होने तक आईफ़्रेम को छिपाने की आवश्यकता है और फिर इसे देखने के लिए कुछ प्रभावों का उपयोग करने की आवश्यकता है।

मुझे यह पता चला है कि मैंने प्रत्येक ब्राउज़र (क्रोम, फ़ायरफ़ॉक्स, सफारी, मोबाइल सफारी) में परीक्षण किया है, लेकिन यह IE8-> IE11 में काम नहीं करेगा।

मैं कैसे IE ऑनलोड ईवेंट सक्रिय नहीं है के बारे में पोस्ट के बहुत देखा है, और मैं क्या इकट्ठा किया है, निम्नलिखित से काम किया जाना चाहिए:

// listen for when the iframe's content has been loaded... 
if (window.addEventListener) 
    iframe.addEventListener("load", framedContentLoaded, false); 
else if (window.attachEvent) 
    iframe.attachEvent("onload", framedContentLoaded); 
else 
    iframe.onload = framedContentLoaded; 

लेकिन, मेरा समारोह framedContentLoaded कभी नहीं हो जाता है आईई में निकाल दिया गया। http://jsfiddle.net/s5TUU/

+0

क्या आपको इस पर कोई समाधान मिला? – membersound

+0

@membersound, दुख की बात है, नहीं। –

उत्तर

0

एक आसान उपाय बस बजाय पीडीएफ के लिए Google व्यूअर का उपयोग करने के होगा:

मैं एक बेला कि इस मुद्दे को reproduces बना लिया है। न केवल यह पीडीएफ दिखाता है, लेकिन ऑनलोड संपत्ति निस्संदेह काम करेगी। Google व्यूअर: https://docs.google.com/viewer मुझे यह भी ध्यान रखना चाहिए कि वेबपृष्ठ पर पीडीएफ एम्बेड करने का उचित तरीका एम्बेड टैग के साथ है, आईफ्रेम नहीं। शायद, आप इसके बजाय onreadystatechange घटना का उपयोग करने का प्रयास कर सकते हैं?

+0

धन्यवाद, मेरे वास्तविक दुनिया के उपयोग के मामले में मैं भविष्यवाणी या नियंत्रण नहीं कर सकता कि कौन सा पृष्ठ आईफ्रेम स्रोत के रूप में सेट किया जाएगा। कभी-कभी यह एक पृष्ठ, एक पीडीएफ या एक पृष्ठ हो सकता है जो एक पीडीएफ पर रीडायरेक्ट करता है। लेकिन शायद कुछ ऐसा है जो हम वहां देख सकते हैं। –

1

मेरे पास एक ही समस्या थी, मैं ब्राउज़र पहचान और onreadystatechange ईवेंट का उपयोग आईई के लिए पूरा करने के लिए कर रहा था लेकिन फिर आईई 11 के लिए काम करना बंद कर दिया।

This bug has been reported और एक कार्यवाही का उल्लेख किया गया है।

कामकाज पीडीएफ को एक आईफ़्रेम के साथ एक HTML पृष्ठ में रखना है और फिर उस HTML पृष्ठ को अपने प्राथमिक आईफ्रेम में लोड करना है। आपके पास नेस्टेड iframes होगा, यह सुंदर नहीं है लेकिन यह आईई के साथ अच्छी तरह से खेलना प्रतीत होता है। आप onload ईवेंट का उपयोग करेंगे जो इसे एक क्रॉस ब्राउज़र समाधान बनाता है। आपको माता-पिता और बच्चे को एक ही आकार में iframes बनाना होगा और पैरेंट आईफ्रेम पर स्क्रॉलबार अक्षम करना होगा ताकि आपको डबल स्क्रॉलबार न मिले।

मेरे मामले में मैं एएसपी.NET एमवीसी का उपयोग कर रहा था, मैं अपने माता-पिता iframe src को एक यूआरएल पैरामीटर के रूप में पारित पीडीएफ यूआरएल के साथ नियंत्रक कार्रवाई को कॉल करने के लिए सेट कर रहा था। कार्रवाई अपने स्रोत को निर्दिष्ट पीडीएफ के साथ बच्चे iframe के साथ एक दृश्य वापस कर रहा था।

0

इसके लिए jquery का उपयोग करें।

var iframe = $ (""); iframe.attr ( .... )

$ ("# सामग्री")। Html (iframe); iframe.load (myFunction);

+0

iframe का स्रोत एक पीडीएफ है, तो 'लोड' में फ़ंक्शन कभी नहीं निकाल दिया जाता है। –

+0

यह सच है! यदि आप पीडीएफ को छवियों में कनवर्ट करते हैं और इसे AJAX से लोड करते हैं? – cbertelegni

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