2009-10-19 11 views
26

बाहरी छवि लोड नहीं होने पर लोड होने में बहुत अधिक समय लगने पर स्थानीय फ़ॉलबैक छवि सेट अप करने का सबसे अच्छा तरीका क्या है।फ़ॉलबैक छवि और टाइमआउट - बाहरी सामग्री। जावास्क्रिप्ट

+0

शानदार! मैं बस एक ही सवाल पूछने वाला था, और मैंने एक त्वरित Google खोज की और यह सवाल पाया। मैं इसे सर्वर की तरफ करने की सोच रहा था, लेकिन क्लाइंट साइड अधिक सरल लगता है। – Skilldrick

उत्तर

43

आप एक oneror हैंडलर जोड़ सकते हैं।

+0

ओह, मैं आतंक के बारे में भूल गया। यह आसान हो सकता है, लेकिन नीचे दिया गया समाधान छवियों को सटीक करने और उन्हें प्रदर्शित होने से पहले उनकी उपलब्धता की जांच करने की अनुमति देता है। आपको क्या चाहिए पर निर्भर करता है ... – moxn

+0

बहुत बढ़िया! जब मैं इस तरह की नई चाल सीखता हूं तो इसे प्यार करो। मैं कुछ jQuery jiggery pokery का सहारा लेने जा रहा था। – MikeMurko

+0

यहां समस्या वह समय है जिसके द्वारा छवि को उपलब्ध नहीं माना जाता है! ब्राउज़र गतिविधि लोड होने में लंबे समय तक लग सकता है जब तक कि वह 'आतंक' घटना का आह्वान न करे। – SaidbakR

2

Image.complete संपत्ति का उपयोग करने का प्रयास करें।

var img = new Image(w,h) 
img.src = "http://..."; 

अब समय-समय पर करता है, तो img.complete सच है और कुछ वापस आने तंत्र फोन shuold यह अभी भी n सेकंड के बाद false हो। यदि oops.gif किसी कारण से लोड नहीं किया जा सकता है ताकि ब्राउज़र मरता नहीं है

<img src="http://example.com/somejpg.jpg" 
    onerror='this.onerror = null; this.src="./oops.gif"' /> 

नोट हैंडलर में अशक्त करने के लिए onerror की स्थापना:

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