2013-03-28 6 views
11

प्रदर्शित करना मैं यह समझने की कोशिश कर रहा हूं कि वेब प्रगतिशील जेपीईजी या नहीं देखने के लिए अनुमति देता है या नहीं।एचटीएमएल और <img/> तत्व

मान लें कि हम एक सर्वर जहां (progressive jpegs देखें):

$ cat /var/www/test.html 
<!DOCTYPE html> 
<html> 
<head><title>jpg test</title></head> 
<body> 
<p><img src="test.jpg" width="256" height="128"></p> 
</body> 
</html> 

मैं समझने के लिए किया जाए या नहीं (img element के अनुसार कोशिश कर रहा हूँ:

$ identify /var/www/test.jpg 
/var/www/test.jpg JPEG 2048x1080 2048x1080+0+0 8-bit DirectClass 129KB 0.020u 0:00.019 
$ identify -verbose /var/www/test.jpg | grep Inter 
    Interlace: JPEG 
अब अगर हम निम्नलिखित HTML दस्तावेज़ जगह

), उपयोगकर्ता एजेंट को संपूर्ण2048x1080 छवि डाउनलोड करने की आवश्यकता है, जबकि क्षेत्र को प्रतिपादित करना केवल 256x128 है।

या विपरीत एक उपयोगकर्ता एजेंट, खाते में प्रतिपादन क्षेत्र लेने के लिए अनुमति दी है पर: 256x128, और इसलिए अनुमान है कि यह केवल प्रगतिशील जेपीईजी के एक हिस्से को संसाधित कर सकें। यह जानकर कि पूर्ण रिज़ॉल्यूशन होने में कोई बात नहीं है क्योंकि यह छवि में कोई विवरण नहीं जोड़ेगा (अच्छी तरह तकनीकी रूप से एक गुणवत्ता परत को कम रिज़ॉल्यूशन पर भी प्रभाव डालना चाहिए, यह केवल सरलीकरण के लिए है)।

आमतौर पर, मैं, जैसे कि Google मानचित्र के रूप में एक आवेदन के भीतर जानना चाहते हैं कि एक उपयोगकर्ता एजेंट (निलंबित?) वर्तमान में छवियों को प्रदर्शित की गर्भपात कर सकते हैं पुनः प्राप्ति के बाद से उपयोगकर्ता कुछ और केवल आंशिक के आधार पर ज़ूम करने के लिए तय करना चाहते हैं प्रगतिशील जेपीईजी (पूरे जेपीईजी अभी तक उपयोगकर्ता पक्ष पर नहीं है) को डिकंप्रेस करने का परिणाम।

+0

बस स्पष्ट करने के लिए, अगर वेब ब्राउज़र को समय से पहले जब यह संकल्प में छवि प्रदर्शित करने के लिए एक प्रगतिशील जेपीईजी के लिए पर्याप्त है एक उच्च संकल्प छवि के लिए डाउनलोड प्रस्तुत करना/निरस्त करने के लिए अनुमति दी है आग्रह कर रहे हैं इसका -tag निर्दिष्ट है? – micke

+0

सही। या अधिक आम तौर पर "वेब ब्राउज़र को एक img src के डाउनलोड को निरस्त करने की अनुमति कब दी जाती है?" – malat

+1

मुझे संदेह है कि कोई भी मौजूदा ब्राउज़र डाउनलोड को निरस्त कर देगा जब उसके पास पर्याप्त रिज़ॉल्यूशन होगा, लेकिन आपका प्रश्न ब्राउज़र डेवलपर्स के लिए एक अच्छा प्रोत्साहन है।हो सकता है कि कोई व्यक्ति आपके प्रश्न का सुझाव देता है, और फिर आपको उस विशेष ब्राउज़र का उत्तर देता है :-) इस बात पर विचार करें कि पूर्ण छवि को डाउनलोड करने से डाउनसाइड्स हो सकते हैं, क्योंकि आप एक प्रीलोड लोड कर सकते हैं जिसे ऑप्टिमाइज़ेशन के रूप में बनाया जा सकता था। –

उत्तर

0
-1

जहां तक ​​मैं आपका प्रश्न समझता हूं, उत्तर बड़े पैमाने पर उन ब्राउज़रों पर निर्भर करेगा जिन्हें आप समर्थन देना चाहते हैं।

ब्राउज़र व्यवहार को "फायरबग" जैसे तृतीय पक्ष प्लगइन्स के साथ आसानी से चेक किया जा सकता है। ये प्लगइन्स आपको किसी पृष्ठ की सृजन की प्रगति, अनुरोध किया जा रहा है और सर्वर से कितने बाइट भेजे जा रहे हैं। फायरबग में इसे "नेट" टैब में देखा जा सकता है।

+0

नहीं, मेरा प्रश्न * ए * विशिष्ट कार्यान्वयन के बारे में नहीं है, बल्कि इसके बजाय मानक जनादेश/अनुशंसा/अनुमति देता है। – malat

7

किसी वेबसाइट में एक प्रगतिशील जेपीईजी का उपयोग करने का विचार बैंडविड्थ को बचाने के साथ और अंतिम उपयोगकर्ता को कुछ दिखाने के साथ करने के लिए कम करना है। ब्राउज़र अभी भी पूर्ण छवि को डाउनलोड करता है चाहे कोई फर्क नहीं पड़ता, लेकिन प्रगतिशील जेपीईजी उपयोगकर्ता को पहले कुछ घटित करने की अनुमति देता है।

W3 page जेपीईजी पर इस का कहना है:

प्रगतिशील जेपीईजी जानकारी को पुन: क्रम के एक साधन के लिए इतना है कि, के बाद ही एक छोटा सा हिस्सा डाउनलोड किया गया है, पूरी छवि का एक धुंधला दृश्य बल्कि एक से प्रस्तुत किया जाता है है सिर्फ एक छोटे से हिस्से के कुरकुरा दृश्य।

क्योंकि एक आईएमजी टैग के शामिल किए जाने को आम तौर पर मतलब है कि आप ब्राउज़र उस संपत्ति को डाउनलोड करना चाहते है कि, यह बस क्योंकि यह पता चलता है कि यह "पर्याप्त" डाउनलोड होने के बाद के माध्यम से बीच-बीच में यह निरस्त करने के लिए नहीं जा रहा है। ब्राउजर यह भी नहीं जानता कि आप बाद में छवि के साथ क्या करना चाहते हैं - शायद आप इसे बाद में ज़ूम करेंगे, या शायद इसे बाद में इसे एक अलग आकार में दिखाना होगा। आंशिक रूप से एक बार डाउनलोड करने का अर्थ है कि ब्राउजर को बाद में डाउनलोड करना पड़ सकता है।

और जेपीईजी पर Wikipedia article बताते हैं:

हालांकि, प्रगतिशील JPEGs के रूप में व्यापक रूप से समर्थित नहीं हैं, [उद्धरण वांछित] और भी कुछ सॉफ्टवेयर है जो उन्हें (जैसे विंडोज 7 से पहले इंटरनेट एक्सप्लोरर के संस्करण के रूप में समर्थन करता है) [12] पूरी तरह से डाउनलोड होने के बाद ही छवि को प्रदर्शित करता है।

इसलिए भले ही कुछ ब्राउज़रों "पर्याप्त" डाउनलोड करने के बाद इन के लिए कनेक्शन को निरस्त किया है, पर्याप्त नहीं ब्राउज़रों समर्थन मुझे यहां तक ​​कि उन्हें पहली जगह में उपयोग करने पर विचार करने के लिए प्रदान करते हैं।

+0

मेरा सवाल यह था कि मानक क्या अनुमति देता है, इस बारे में नहीं कि किस विशेष कार्यान्वयन को तोड़ दिया गया है ... – malat

0

संक्षिप्त उत्तर पृष्ठ को छोड़ने या निरस्त करने या टैग के स्रोत को बदलने के बिना img (प्रगतिशील या अन्यथा) को निरस्त करने का कोई मानक तरीका नहीं है (और यह आंशिक छवि को हटा देगा)। मुझे किसी भी हैक्स के बारे में पता नहीं है जो इसे भी करेगा।

यह एक अच्छा फीचर की तरह लगता है हालांकि यह निम्नलिखित आम मामलों में मौजूदा वेबसाइटों के लिए समस्याग्रस्त होगा:

  • छवि गैलरी थंबनेल के रूप में बड़े प्रगतिशील छवियों का उपयोग कर + प्रीलोड (यानी, Galleria इस करता है)
  • कोई भी वेबसाइट जो छवि के लिए onload घटनाओं पर निर्भर करती है (आपकी आधा रेंडर छवि को "लोड" माना जाएगा यदि यह निरस्त/निलंबित हो सकता है)?

इन कारणों के लिए अकेले यह एक बुरा विचार है जब तक कि (बहिष्कृत lowsrc विशेषता या शायद allowpartial विशेषता के कुछ प्रकार जहां आप स्पष्ट रूप से इस व्यवहार के लिए पूछ रहे हैं) की तरह एक विशेषता के रूप में कल्पना करने के लिए जोड़ा होगा। WHATWG चर्चाओं का पालन करने वाले किसी व्यक्ति के रूप में मैं आपको बता सकता हूं कि यह निश्चित रूप से सरल कारण के लिए पूरी तरह से खारिज कर दिया जाएगा कि यह एक फ्रिंज मुद्दे को हल करने के लिए जटिलता को जोड़ता है। यदि इस सुविधा की वास्तव में आवश्यकता थी तो ब्रॉडबैंड लगभग सार्वभौमिक बनने से पहले कई साल पहले इसकी मांग की गई थी। इस बिंदु पर जावास्क्रिप्ट और/या थंबनेल के चालाक उपयोग के साथ यह अनिवार्य रूप से अनावश्यक है।

+0

तथ्य यह है कि लोग थंबनेल का उपयोग करके जटिलता जोड़ते हैं, स्पष्ट रूप से इंगित करता है कि कुछ गुम है। आप कह रहे हैं कि मानक इस तरह लिखा गया है: ताकि आप लोगों को प्रगतिशील जेपीईजी, जेपीईजी-एक्सआर और/या जेपीईजी 2000 का उपयोग करने से रोक सकें, है ना? – malat

+0

मैं यह नहीं कह रहा हूं कि मानक आपको प्रगतिशील छवियों का उपयोग करने से रोकता है, मैं कह रहा हूं कि यह रेंडरर को "पर्याप्त" के बारे में कुछ मनमानी दृश्य निर्णय के आधार पर छवि को डाउनलोड करना बंद करने की अनुमति नहीं देता है। यदि आप इसके लिए पूछते हैं तो आपको शायद अधिक दृढ़ उपयोग केस प्रदान करना होगा। आपका सवाल था "ब्राउज़र को छवि को डाउनलोड करना बंद करने की अनुमति कब दी जाती है?", जवाब है "जब आप पृष्ठ को छोड़ते/छोड़ देते हैं"। आप में से बाकी का सवाल मूल रूप से एक प्रस्ताव है कि मैंने इसे कभी भी स्वीकार कर लिया है जैसा आपने इसे रखा है। – SpliFF

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