मैंने बहुत सारे फ़ोरम देखे हैं जो आइफ्रेम के प्रतिस्थापन के रूप में ऑब्जेक्ट टैग का सुझाव देते हैं, जो संभवतः अधिकांश मामलों में काम करता है।
उदाहरण के लिए, मेरे पास एक 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 में एक ContentWindow प्रॉपर्टी है, जो कि केवल उस हिस्से को प्रिंट करना संभव बनाता है। ऑब्जेक्ट में एक ContentWindow प्रॉपर्टी नहीं है, इसलिए केवल पेज के अनुभाग को प्रिंट करने का कोई तरीका नहीं है।
तो, ऐसा लगता है कि यदि आप कुछ प्रदर्शित करने के लिए सिर्फ IFrame का उपयोग कर रहे हैं, तो ऑब्जेक्ट जैसे अन्य टैग हैं जिनका उपयोग किया जा सकता है। लेकिन अगर आपको कुछ तरीकों से IFrame की सामग्री के साथ बातचीत करने की आवश्यकता है, तो IFrame आवश्यक हो सकता है।