问题背景
在企业应用开发过程中,会经常遇到内网和外网的问题。最近就刚好遇到,在系统中需要跳转到另外一个系统,该系统内网和外网的地址不同,因为需要进行区分再做跳转。
解决方法
用img标签,检测url地址是否可以访问
首先定义一个检测函数
export const checkWebSiteOnline = (config) => {
var img = document.createElement('img')
img.onload = function () {
if (typeof config.success === 'function') config.success(config.url)
}
img.onerror = function () {
if (typeof config.error === 'function') config.error(config.url)
}
img.src = config.url + (config.isImage ? '' : '/favicon.ico')
img.remove()
}
使用该函数
checkWebSiteOnline({
url: aurl,
success: () => {
console.log('success====>>')
},
error: (error) => {
console.log('error====>>', error)
aurl = burl
}
})
采用img方式的好处是可以避免跨域问题
如何你有更好的方案,欢迎与我交流