मैंने कई फ़ोरम देखे हैं जो ऑब्जेक्ट टैग को IFrame के प्रतिस्थापन के रूप में सुझाते हैं, जो शायद ज्यादातर मामलों में काम करता है।
उदाहरण के लिए, मेरे पास एक आईफ़्रेम में दिखाया गया एक पीडीएफ था (क्योंकि अन्य चीजें जिन्हें हमें पृष्ठ पर केवल पीडीएफ के अलावा दिखाने की ज़रूरत थी) और ऑब्जेक्ट का उपयोग करके इसे ठीक से प्रदर्शित करने में सक्षम था।
क्या था:
<iframe id="confirmed_pdf" class="current_pdf" src="/prescriptions/show_pdf?id=123" height="570" width="480"></iframe>
बने:
<object id="confirmed_pdf" class="current_pdf" data="/prescriptions/show_pdf?id=123" type="application/pdf" height="570" width="480">
<p>[Show this message if displaying the PDF did not work]</p>
</object>
लेकिन वस्तु उचित प्रतिस्थापन आवश्यकता को भरने के लिए पेज के ही पीडीएफ भाग मुद्रित करने के लिए सक्षम होने के लिए नहीं था।
एक iframe (, एक खिड़की के भीतर एक खिड़की मूल रूप से) पृष्ठ के भीतर अपने स्वयं के खिड़की की तरह है, और एक बार आप विंडो वस्तु मिलता है, आप उस पर .print() कॉल कर सकते हैं, जैसे:
jQuery("#confirmed_pdf").contentWindow.print();
आईफ्रेम में एक सामग्री है विन्डो प्रॉपर्टी, यही वह चीज है जो केवल उस भाग को प्रिंट कर सकती है। ऑब्जेक्ट में कोई सामग्री नहीं है विन्डो प्रॉपर्टी, इसलिए पृष्ठ के केवल अनुभाग को मुद्रित करने का कोई तरीका नहीं है।
तो ऐसा लगता है कि अगर आप कुछ प्रदर्शित करने के लिए केवल IFrame का उपयोग कर रहे हैं, तो ऑब्जेक्ट जैसे अन्य टैग इसके बजाए उपयोग किए जा सकते हैं। लेकिन अगर आपको कुछ तरीकों से आईफ्रेम की सामग्री से बातचीत करने की आवश्यकता है, तो IFrame आवश्यक हो सकता है।
बहुत बढ़िया, मुझे उम्मीद है कि ब्राउज़र AJAX फ़ाइल अपलोड का समर्थन करना शुरू कर देंगे ताकि हमें इसके लिए iframes या फ़्लैश का उपयोग करने की आवश्यकता न हो। – Xeoncross
@ एक्सोनक्रॉस फ़ायरफ़ॉक्स और क्रोम करें: https://developer.mozilla.org/en/Using_files_from_web_applications – chesles