const useImage = (imgUrl: string): string => {
return new URL(`../assets/${imgUrl}`, import.meta.url).href
}
export default useImage
-----------------------------------------------------------
import useImage from '@/hook/useImage'
const loadingUrl = useImage('img/loading2.gif')
let Browser = new Object()
Browser.userAgent = window.navigator.userAgent.toLowerCase()
Browser.ie = /msie/.test(Browser.userAgent)
Browser.Moz = /gecko/.test(Browser.userAgent)
function Imagess(url, callback, error) {
let val = url
let img = new Image()
if (Browser.ie) {
img.onreadystatechange = function () {
if (img.readyState == 'complete' || img.readyState == 'loaded') {
callback(img)
}
}
} else {
img.onload = function () {
if (img.complete == true) {
callback(img)
}
}
}
if (error) {
img.onerror = error
} else {
img.onerror = function () {
img.src = 'http://sunbrightness.gitee.io/csdn-material/img_loading/failed.png'
}
}
img.src = val
}
export function img_loading() {
let imglist = document.getElementsByClassName('img-data')
for (let i = 0; i < imglist.length; i++) {
let tt = imglist[i]
if (tt.loading == true) {
continue
}
if (!tt.getAttribute('src-data')) {
continue
}
tt.loading = true
tt.src = loadingUrl
Imagess(tt.getAttribute('src-data'), function (obj) {
tt.src = obj.src
tt.removeAttribute('src-data')
})
}
}