<एम्बेड> बनाम <ऑब्जेक्ट>


164

जब मैं एडोब पीडीएफ दर्शक प्रदर्शित करना चाहता हूं तो मेरी HTML फ़ाइल में उपयोग करने के लिए सही / सर्वोत्तम टैग कौन सा है?

अभी मैं नीचे दिए गए कोड का उपयोग कर रहा हूं, लेकिन अजीब साइड इफेक्ट्स हैं (जैसे कि यह शुरुआती ध्यान चुराने के लिए लगता है कि मैंने एक और <input>टेक्स्ट बॉक्स में सेट किया है ; यह jQueryUI रेसिजेबल क्लास के साथ वास्तविक रूप से अच्छा नहीं लगता है; आदि।)

<embed src="abc.pdf" type="application/pdf" />

क्या मैं <object>टैग के साथ भी यही काम कर सकता था ? एक टैग बनाम दूसरे का उपयोग करने के क्या फायदे / नुकसान हैं?


21
और अब HTML5 में <एम्बेड> के साथ? सबसे अच्छा तरीका क्या है?
VinnyG

@VinnyG <embed>अब आधिकारिक तौर पर HTML5 के साथ एक मानक टैग है, लेकिन आपको पुराने ब्राउज़र संस्करणों के साथ कम से कम कुछ संगतता मुद्दों का अनुमान लगाना चाहिए ।
b1nary.atr0phy

जवाबों:


169

OBJECT बनाम EMBED - हमेशा एम्बेड का उपयोग क्यों नहीं किया जाता है?

नीचे पंक्ति: OBJECT अच्छा है, EMBED पुराना है। यदि IE के PARAM टैग के अलावा, OBJECT टैग के बीच कोई भी सामग्री प्रदान की जाएगी यदि ब्राउज़र OBJECT के संदर्भित प्लगइन का समर्थन नहीं करता है, और जाहिर है, सामग्री http से अनुरोध किया जाता है, भले ही इसका प्रतिपादन हो या न हो।

objectकिसी पृष्ठ पर कुछ एम्बेड करने के लिए वर्तमान मानक टैग है। embedनेटस्केप (साथ द्वारा शामिल किया गया था img) कुछ भी पहले की तरह objectपर थे W3C मन।

इस तरह से आप एक पीडीएफ के साथ शामिल हैंobject :

<object data="data/test.pdf" type="application/pdf" width="300" height="200">
  alt : <a href="data/test.pdf">test.pdf</a>
</object>

यदि आपको वास्तव में लगभग हर ब्राउज़र में इनलाइन पीडीएफ दिखाने की आवश्यकता है, जैसा कि पुराने ब्राउज़र समझते हैं embedलेकिन नहीं object, तो आपको यह करने की आवश्यकता होगी:

<object data="abc.pdf" type="application/pdf">
    <embed src="abc.pdf" type="application/pdf" />
</object>

यह संस्करण मान्य नहीं है


47
<एम्बेड> वास्तव में HTML5 dev.w3.org/html5/spec/Overview.html#the-embed-element
आकर्षित LeSueur

7
भले ही <embed>एचटीएमएल 5 मानक का हिस्सा है, यह मुझे लगता है कि <object>पुराने ब्राउज़रों के साथ संगतता और वैकल्पिक सामग्री प्रदर्शित करने की क्षमता के कारण बेहतर विकल्प है। विचार?
राफेल

4
@raphaelcm मुझे शैतान के वकील की भूमिका करने की अनुमति देता है। यदि पुराने ब्राउज़रों के साथ संगतता बनाए रखना महत्वपूर्ण था, तो HTML कभी विकसित नहीं होगा। यहाँ क्या महत्वपूर्ण है बाजार में हिस्सेदारी , विशेष रूप से ब्राउज़र संस्करणों के बारे में।
b1nary.atr0phy

7
यह क्यों स्वीकार किया जाता है? मुझे लगा कि <एम्बेड> HTML5 मानक टैग था।
फेबस्प्रो

2
मुझे लगता है कि आगे बढ़ने के लिए <एम्बेड> बेहतर विकल्प होगा। यह HTML5 मानक में है, जबकि ऑब्जेक्ट में इसकी कई विशेषताएं (विशेषताएँ) हैं, जो एम्बेड टैग से इसकी कार्यक्षमता को अलग करने के लिए पदावनत किया गया है। w3schools.com/tags/tag_object.asp यह प्रतीत होता है कि ऑब्जेक्ट लगभग एक 'स्विस सेना चाकू' टैग है जबकि एम्बेड एक पृष्ठ में सामग्री एम्बेड करने के उद्देश्य से बनाया गया है।
cmaynard

5

कुछ अन्य विकल्प:

<object type="application/pdf" data="filename.pdf" width="100%" height="100%">
</object>

<object type="application/pdf" data="#request.localhost#_includes/filename.pdf" 
        width="100%" height="100%">
  <param name="src" value="#request.localhost#_includes/filename.pdf">
</object>

3

आप iframe विधि का उपयोग भी कर सकते हैं, हालांकि यह क्रॉस ब्राउज़र संगत नहीं है (उदाहरण के लिए क्रोमियम या एंड्रॉइड और शायद अन्य में काम नहीं कर रहा है -> इसके बजाय डाउनलोड करने का संकेत देता है)। यह dataURL और सामान्य URLS के साथ काम करता है, निश्चित नहीं है कि अन्य उदाहरण dataURLS के साथ काम करते हैं (कृपया मुझे बताएं कि क्या अन्य उदाहरण dataURLS के साथ काम करते हैं?)

 <iframe class="page-icon preview-pane" frameborder="0" height="352" width="396" src="data:application/pdf;base64, ..DATAURLHERE!... "></iframe>

3

संभवतः वेब पृष्ठों पर पीडीएफ प्रदर्शन के लिए सबसे अच्छा क्रॉस ब्राउज़र समाधान मोज़िला PDF.js परियोजना कोड का उपयोग करना है, इसे एक नोड.जेएस सेवा के रूप में चलाया जा सकता है और निम्नानुसार उपयोग किया जा सकता है।

<iframe style="width:100%;height:500px" src="http://www.mysite.co.uk/libs/pdfjs/web/viewer.html?file="http://www.mysite.co.uk/mypdf.pdf"></iframe>

Pdf.js का उपयोग करने के बारे में एक ट्यूटोरियल इस इजेक्टा ब्लॉग ब्लॉग पर पाया जा सकता है


1

एंबेड कोई मानक टैग नहीं है, हालांकि ऑब्जेक्ट है। यहां एक लेख है जो दिखता है कि यह आपकी मदद करेगा, क्योंकि ऐसा लगता है कि स्थिति इतनी सरल नहीं है। पीडीएफ के लिए एक उदाहरण शामिल है।


12
एंबेड मुझे काफी मानक लगता है - कम से कम एचटीएमएल 5 में।
कोपा जूल

6
@ bažmegakapa यह एचटीएमएल 5 के साथ अब निश्चित रूप से मानक है, लेकिन वह जिस लेख का उल्लेख कर रहा है वह 2008 में वापस लिखा गया था और उसका जवाब 2009 से है, जो एचटीएमएल 5 से संबंधित है।
b1nary.atr0phy

2
@ b1naryatr0phy इसलिए मैंने टिप्पणी जोड़ी है। उसे मेरे विचार में उत्तर को अपडेट करना चाहिए या हटा देना चाहिए, क्योंकि यह अब प्रासंगिक नहीं है इसलिए भविष्य के आगंतुकों की मदद नहीं करेगा।
कापा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.