js判断一个url是否正常能打开,然后跳转不同的网址,咋写

99次阅读

共计 1489 个字符,预计需要花费 4 分钟才能阅读完成。

js 判断 baidu.com 是否正常,正常就跳转到 baidu.com

不正常就不跳转,在当前页面不动

咋写?球一个代码

网友回复:

注册 虽然知道,但是下一个

腾讯云 6 折购 好的,下一个

require 救救孩子

笑花落半世琉璃 试试看用 AJAX 判断返回信息

腾讯云 6 折购 一般是 用 img 标签的 onerror

ctoh https://pyscript.net/ Run Python in Your HTML

teardrops AJAX 判断响应头代码,2XX-3XX 都放行 4XX 拦截不让跳即可

silence js 跨域了 换思路

Salta 判断分享链接是否有效吗?

注册 差不多 就是想在访问之前判断一下

注册 ajax

腾讯云 6 折购 好久没写了,要不写个了

beastie 如果不是同一个域名的话,现代浏览器基本都会报跨域错误了,不管你用 ajax 还是 img.onload 还是 canvas 什么的。有个比较取巧的办法是利用大多数网站都有 /favicon.ico 这个文件可供访问,结合 img.onload 就能绕过跨域问题了:function check(url) {if (!url) return         if (url[url.length – 1] !== ‘/’) url += ‘/’         var img = document.createElement(‘img’)         img.onload = function() {             console.log(url, ‘ loaded, redirecting…’)             window.location = url         }         img.onerror = function(e) {console.log(url, ‘ fail to load, stay.’)             console.error(e)         }         img.src = url + ‘favicon.ico’         img.style.display = ‘none’         document.body.appendChild(img)     }     // check(‘https://www.baidu.com’)     check(‘https://www.baidufsfsdfad.com’) 复制代码 但如果这个网址没提供 favicon.ico 的话,那么就会误判了…… 追求准确的话,建议用服务端搭建一个检测接口,如要降低成本,也可以利用一些 serverless 服务。

呆呆的游客 感谢大佬 试了一下真的可以 牛逼牛逼,有个小点忘记说了,怎么加个定时器,5 秒之后跳转呢?

ggsmida https://developer.mozilla.org/zh-CN/docs/Web/API/setTimeout

腾讯云 6 折购 window.setTimeout(() => {window.location = url}, 5000); 复制代码

ggsmida 请问这句代码放在最后就可以了吗

darius 这个写在哪里鸭?我是希望检测到网址可以访问之后,五秒之后跳转到 baidu.com。检测不可以访问就也不用倒计时了,什么都不做

腾讯云 6 折购 大佬 这两句代码啥区别 window.setTimeout(() => {window.location = url}, 5000); 复制代码 javascript:setTimeout(() => {window.location = url}, 5000); 复制代码

注册 下面那个是为了方便把事件触发后要执行的逻辑直接写在标签上。上面的就是你下面 javascript: 后的执行逻辑

正文完
 0