दिलचस्प पोस्ट
12 घंटे की तारीख / समय 24-घंटे की तारीख / समय में कनवर्ट करें एक बार प्रवेश करने के लिए SSH पर गिट को कॉन्फ़िगर करना एकल क्लिक ईवेंट को कैसे अलग करना और डबल क्लिक करें इवेंट? NSMutableArrays के चौराहे ढूँढना UILabel लाइन रिक्ति सेट करें पायथन के साथ माउस को नियंत्रित करना संप्रभु और असली दुनिया उदाहरण contravariance JSF कैश स्टेटिक संसाधन फ़िल्टर Angular.js निर्देश गतिशील टेम्पलेट URL एनएसएमयूटीबलएआरआरआर से निकालने का सबसे अच्छा तरीका क्या है? उद्देश्य सी: आप UIButton और UILabel के लिए पाठ को कैसे घुमा सकते हैं? Matplotlib / PyPlot में फास्ट लाइव प्लॉटिंग "डिबग मोड" सक्षम होने पर यह कैसे पता चलेगा क्यों विम विशेषज्ञों टैब पर बफ़र्स पसंद करते हैं? जावा में एएससीआईआई से ईबीसीडीआईसी से स्ट्रिंग को परिवर्तित करें?

जब स्रोत स्त्रोत छवि नहीं मिली है तो चुपचाप "छवि नहीं मिली" आइकन को छिपाने के लिए कैसे करें

क्या आपको पता है कि कोई छवि फ़ाइल नहीं मिली है जब किसी रेंडर किए गए HTML पृष्ठ से क्लासिक "छवि नहीं मिली" आइकन छिपाने के लिए?

जावास्क्रिप्ट / jQuery / सीएसएस का उपयोग करने के लिए कोई काम करने का तरीका है?

वेब के समाधान से एकत्रित समाधान "जब स्रोत स्त्रोत छवि नहीं मिली है तो चुपचाप "छवि नहीं मिली" आइकन को छिपाने के लिए कैसे करें"

जब आप छवि को लोड करने में विफल हो जाते हैं, तो आप कार्य करने के लिए जावास्क्रिप्ट में onerror घटना का उपयोग कर सकते हैं:

 var img = document.getElementById("myImg"); img.onerror = function () { this.style.display = "none"; } 

JQuery में (जब से आपने पूछा):

 $("#myImg").error(function () { $(this).hide(); }); 

या सभी छवियों के लिए:

 $("img").error(function () { $(this).hide(); // or $(this).css({visibility:"hidden"}); }); 

आपको visibility: hidden उपयोग करना चाहिए visibility: hidden .hide() बजाय छुपाए जाने पर छवियों को छिपाने से लेआउट बदल सकता है वेब पर कई साइटें डिफ़ॉल्ट छवि के बजाय "कोई भी छवि" छवि का उपयोग नहीं करती हैं, जो कि निर्दिष्ट छवि स्थान अनुपलब्ध होने पर उस छवि पर src विशेषता को इंगित करते हैं।

 <img onerror='this.style.display = "none"'> 

एंडी ई के उत्तर पर एक त्वरित अनुसंधान करने से, यह संभव नहीं है live() बाइंड error

 // won't work (chrome 5) $('img').live('error', function(){ $(this).css('visibility', 'hidden'); }); 

तो आपको ऐसा करना होगा

 $('<img/>', { src: 'http://img.hiwab.com/javascript/fake.jpg', error: function(e){ $(this).css('visibility', 'hidden'); } }).appendTo(document.body); 

सीधे एक नया तत्व बनाने पर error event handler बाध्यकारी

यह उत्तर देने में बहुत देर हो सकती है, लेकिन ये मेरा प्रयास है जब मुझे एक ही समस्या का सामना करना पड़ा तो मैं इसे छवि के आकार की एक div का उपयोग करके और इस div में पृष्ठभूमि-छवि को सेट करके तय किया। यदि छवि नहीं मिली है, तो div को पारदर्शी रूप से प्रस्तुत किया गया है, इसलिए इसके सभी जावा-स्क्रिप्ट कोड के बिना चुपचाप किए गए।

प्रत्येक छवि त्रुटि को छिपाने के लिए, बस अपने पेज के नीचे यह जावास्क्रिप्ट जोड़ें (क्लोजिंग बॉडी टैग के ठीक पहले):

 (function() { var allimgs = document.images; for (var i = 0; i < allimgs.length; i++) { allimgs[i].onerror = function() { this.style.visibility = "hidden"; // Other elements aren't affected. } } })(); 

गैरी विलॉल्बी द्वारा सुझाए गए समाधान में मैंने थोड़ा संशोधित समाधान किया है, क्योंकि यह टूटे हुए छवि को संक्षेप में दिखाता है मेरा समाधान:

  <img src="..." style="display: none" onload="this.style.display=''"> 

मेरे समाधान की छवि में शुरू में छिपा हुआ है और यह तब दिखाया जाता है जब सफलतापूर्वक लोड किया जाता है। इसमें कोई नुकसान नहीं है: उपयोगकर्ताओं को आधा लोड किए गए चित्र नहीं दिखाई देंगे। और अगर उपयोगकर्ता ने जेएस अक्षम कर दिया है तो वह कभी भी कोई छवि नहीं देख पाएंगे

Angular.js में ng-src डायरेक्टिव का उपयोग करते समय मुझे अभी भी कार्यात्मक होने के दौरान निफ्टी विधि मिलती है, जैसे …

 <img ng-src="{{myCtrl.myImageUrlThatWillDynamicallyChange}}" onerror="this.src='data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='" /> 

यह मूल रूप से एक छोटा पारदर्शी GIF है (जैसा कि देखा गया है http://proger.i-forge.net/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82% डी 0% बी 5% डी 1% 80 / [20121112]% 20% 20 प्रतिशत सबसे कम% 20 ट्रांसिपर% 20 पिक्सेल। Html )

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

 <script> window.fallbackGif = "..." </script> 

और उपयोग करें

 <img ng-src="{{myCtrl.myImageUrlThatWillDynamicallyChange}}" onerror="this.src=fallbackGif" /> 

आदि।