2011-11-07 10 views
9

complete संपत्ति की मेरी समझ के साथ मैंने कुछ समस्या में भाग लिया है।छवि तत्व की 'पूर्ण' संपत्ति वास्तव में कैसे काम करती है?

मुझे लगता है कि completetrue होगा यदि छवि सही ढंग से डाउनलोड और डीकोड की गई है।

MDN says ...

यह सच है, तो ब्राउज़र छवि लाया था, और यह एक supported image type कि त्रुटियों के बिना डीकोड किया गया था में है।

तो, मैं एक छवि के complete संपत्ति की जाँच से पहले अपने load घटना false वापसी होगी गोली चलाई थी (छवि दिलवाया नहीं किया गया है) ग्रहण किया। jsFiddle में इसे अलग करते समय, टैग बंद होने से ठीक पहले script तत्व के अंदर संपत्ति की जांच करते समय मुझे true मिल रहा था।

मैं experimented भी src छवि के गुण को बदलने के साथ और फिर तुरंत complete संपत्ति को बदलने के साथ। मैं ब्राउज़र में देख सकता हूं complete छवि डाउनलोड होने से पहले true के रूप में वापस आ रहा है (मैं नेट फ़ायरबग में पैनल के माध्यम से अपनी प्रगति को देख रहा हूं)।

क्या व्यवहार मैं सही उम्मीद कर रहा हूं? क्या मुझे उम्मीद है कि यह काम करने के लिए कोई तरीका है?

वर्तमान में फ़ायरफ़ॉक्स 7.0.1 में परीक्षण। यह एक फ़ायरफ़ॉक्स बग हो सकता है, लेकिन केवल other question सबूत के रूप में है।

+0

मुझे यह मिला: https://bugs.webkit.org/show_bug.cgi?id=28832 सफारी के लिए दायर की गई बग रिपोर्ट - क्या आप इसका परीक्षण कर रहे हैं? कम से कम क्रोम 15 पर आपके डेमो अपेक्षित 'झूठी, झूठी, सत्य' में परिणाम देता है। – Ryan

+0

@minitech: मैं फ़ायरफ़ॉक्स 7 में परीक्षण कर रहा हूं। – alex

उत्तर

2

मैं इस सवाल का जवाब मिल गया है, लेकिन आप इसे पसंद करने के लिए नहीं जा रहे हैं ...

जब विचाराधीन छवि document.createElement के साथ बनाया गया है, यह काम करता है। http://jsfiddle.net/minitech/nmuQ8/

मुझे पता चला कि यह काम करता है, जबकि एक परीक्षण बनाने अगर यह काम नहीं करता है देखने के लिए देखें, तो अब तक मैं एक तरह से करता है, तो प्रतिस्थापन वास्तव में जरूरी है कि बताने के लिए की जरूरत नहीं है, दुर्भाग्य से।

+0

+1 काम करता है, बहुत रोचक। मैं यह देखने के लिए बाहर लटका सकता हूं कि क्या बेहतर समाधान आता है :) – alex

8

w3c-docs

आईडीएल से सच लौटना चाहिए पूरा श्रेय यदि निम्न से कोई भी शर्त सही है:

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

परिणाम की तरह लगता है सही है। आंतरिक छवि को मानना ​​कैश किया गया है, तो छवि पहले से ही प्राप्त की गई है।
यह पूरा-संपत्ति को कोई असर नहीं होती जब आप src बदल (किसी अन्य कार्य कतार)

मैं थोड़ा के आसपास खेला और के रूप में यदि आप अपेक्षित परिणाम प्राप्त कर सकते src- को दूर यह लग रहा है नया स्रोत सेट करने से पहले विशेषता। डेमो: http://jsfiddle.net/doktormolle/UNEF7/

स्पष्टीकरण: जब कोई src-विशेषता छवि के राज्य "टूटे" (3 हालत अब से मेल नहीं खाएगी) में बदल जाता है और इसे पूरा नहीं किया जाएगा से पहले नए ressource लोड किया गया है मौजूद है ।

+0

+1 धन्यवाद, उपयोगी जानकारी। W3C spec से जोड़ने के लिए – alex

+0

+1। ध्यान दें कि डब्ल्यू 3 सी स्पेक जो आप लिंक करते हैं वह वर्तमान में एक मसौदा है, इसलिए यह अभी भी बदल रहा है। नतीजतन, मुझे लगता है कि, तीसरा बिंदु जो आप उल्लेख करते हैं वह अब "बस" कह रहा है "संसाधन को प्राप्त करने के बाद नेटवर्किंग कार्य स्रोत द्वारा कतारबद्ध अंतिम कार्य कतारबद्ध किया गया है।" और अब एक अतिरिक्त बिंदु है कहते हैं, "आईएमजी तत्व टूटा हुआ है।" ' –

+1

वैसे, क्या कोई व्यक्ति उस वाक्य को वाक्य से समझा सकता है" संसाधन को प्राप्त करने के बाद नेटवर्किंग कार्य स्रोत द्वारा कतारबद्ध अंतिम कार्य कतारबद्ध किया गया है। " –

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