我有在IE 11頁圖像裝載我顯示優惠券(在拉巴特主題)的問題。但有些縮略圖不能上傳。如果我只是刷新頁面顯示所有縮略圖圖像沒有任何問題。 我的IE版本是11.0.9600.17959。 的主要問題是,一些圖像不加載第一次(紅叉的形象出現,而不是)和刷新圖像只是出現。 如果我渴望點擊圖片,然後單擊顯示圖片,它顯示的圖像。 任何人都可以請幫我這個問題?IE 11鏡像加載的問題(在刷新加載)
感謝 阿布舍克
我有在IE 11頁圖像裝載我顯示優惠券(在拉巴特主題)的問題。但有些縮略圖不能上傳。如果我只是刷新頁面顯示所有縮略圖圖像沒有任何問題。 我的IE版本是11.0.9600.17959。 的主要問題是,一些圖像不加載第一次(紅叉的形象出現,而不是)和刷新圖像只是出現。 如果我渴望點擊圖片,然後單擊顯示圖片,它顯示的圖像。 任何人都可以請幫我這個問題?IE 11鏡像加載的問題(在刷新加載)
感謝 阿布舍克
我已經如果不是在第一次嘗試加載正確重裝破碎的形象找到了解決這個問題。 這裏是Git倉庫的位置和JS的網站鏈接,該代碼位於:
https://github.com/desandro/imagesloaded http://imagesloaded.desandro.com/
添加這個js代碼在你的頁面:
var imgLoading = ImagesLoaded(document); imgLoading.done(function() { console.log('All images loaded successfully'); console.log('Images: ', this.images); }); imgLoading.fail(function() { console.error('One or more images have failed to load'); console.log('Proper images: ', this.proper); console.log('Broken images: ', this.broken); }); imgLoading.always(function() { if (this.isDone) { console.log('All images loaded successfully'); } if (this.isFailed) { console.error('One or more images have failed to load'); } console.log('Proper images: ', this.proper); console.log('Broken images: ', this.broken); }); imgLoading.progress(function (img, isBroken) { console.log('This image has finished with loading:', img); console.log('The image is ' + (isBroken ? 'broken' : 'properly loaded')); if (isBroken){ img.src = img.src+"?time=" + new Date(); } // Current state of loading console.log('Pending images:', this.pending); console.log('Loaded images:', this.loaded); console.log('Proper: ', this.proper); console.log('Broken: ', this.broken); });
主要方法是imgLoading.progress(功能(IMG,isBroken)。
一個簡單的邏輯被添加到該方法中重新加載圖像,如果打破,通過添加一個時間戳,只是以強制重新加載圖像以便瀏覽器將其視爲一個新的URL並將其加載到服務器以加載它,而不是從緩存中加載。像這樣:
if (isBroken){ img.src = img.src+"?time=" + new Date(); }
就是這樣。現在,如果圖像損壞,至少會重新載入一次。