तो एचटीएमएल पेज पर टूटी हुई छवियों को संभालने के कुछ तरीके शांत हैं। मैं जानना चाहता हूं कि लोकप्रिय उपयोग में कौन से तरीके हैं और सर्वोत्तम तरीकों के लिए किन तरीकों को देखा जाता है?टूटी हुई छवियों को संभालने का सबसे अच्छा तरीका क्या है?
शुरू करने के लिए मैं कुछ देखा है अपने आप की तरह है:
function imgErr(source) {
source.src = /images/missing.jpg";
source.onerror = "";
return true;
}
<img src="test.jpg" alt="test" title="test" onerror="imgErr(this);" />
सकारात्मक: हर काम करता है, घटना हमेशा पकड़ा दिया जाएगा। उपयोगकर्ता कभी टूटी हुई छवि नहीं देखता है। ब्राउज़रों में अच्छी तरह से काम करने लगता है। विपक्ष: onerror टैग प्रत्येक छवि पर आवश्यक है, समारोह imgErr (स्रोत), सिर त्रुटियों को पकड़ने के लिए में होने की जरूरत है धीमा कर देती है नीचे उपयोगकर्ताओं लोड समय
$('img').error(function(){
$(this).attr('src', 'missing.jpg');
});
पेशेवरों का अनुभव: बहुत कम कोड, सभी छवियों पर काम करता है उनके मार्कअप को बदले बिना सिर विपक्ष के बाहर होने वाला हो सकता है:, पृष्ठों ऑनलोड घटना की गति के आधार त्रुटि घटना को छोड़ सकता है उपयोगकर्ताओं को धीमा कर देती अनुभव लोड समय
$(window).load(function() {
$("img").each(function() {
if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
var src = $(this).attr("src");
var suffix = src.substring(src.length - 6, src.length).split('.')[0];
suffix = suffix.charAt(suffix.length - 1);
$(this).attr("src", "/static/images/generic/missing_" + suffix + ".jpg");
}
});
});
सकारात्मक: कहीं भी रखा जा सकता है पृष्ठ पर, छवियों को ठीक करेगा, चाहे वह चलने पर कोई फर्क नहीं पड़ता, उपयोगकर्ता को धीमा नहीं करता है अनुभवी लोड समय विपक्ष: एक खराब छवि अनुभव दिखाता है जब तक यह खराब उपयोगकर्ता अनुभव नहीं चलाता
मेरी स्थिति में लोड समय सबसे बड़ा मुद्दा है, लेकिन मुझे आईई में सही तरीके से काम करने का अंतिम विकल्प नहीं मिल रहा है क्योंकि यह टूटा हुआ है और कोई भी टूटी हुई छवियों को समान रूप से नहीं!
चीयर्स, डेनिस
इस उत्तर के एक बदलाव आम छवि फ़ाइल एक्सटेंशन के लिए एक ISAPI फिल्टर/अपाचे-आधुनिक हैंडल अनुरोध करने देने के लिए, ताकि आप अपने हैंडलर को इंगित करने के विशेषताओं अपने सभी img src को बदलने की जरूरत नहीं है हो सकता है । – grenade
मैं इसके साथ सहमत हूं।यदि मैं टूटी हुई छवियों को ठीक करने के बारे में अशिष्ट था तो एक सामान्य हैंडलर मेरी पसंद होगी। – CeejeeB
यह मेरे लिए एमवीसी के साथ देखने का विकल्प हो सकता है लेकिन मुझे उम्मीद थी कि मैं इसे सर्वर की ओर आसान रख सकता हूं! –