js判断img是否存在
利用image对象的onerror事件来判断,出错则更换image对象的src为默认图片的URL。
<p>第一种情况:图片存在,正常显示 <img src="http://www.jb51.net/logo.gif"onerror="javascript:this.src='http://www.jb51.net/logos.gif'" /></p><p>第二种情况:图片不存在,显示默认图片 <img src="http://www.jb51.net/logoddd.gif"onerror="javascript:this.src='http://www.jb51.net/logos.gif'" /></p>注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。
|
1
|
<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址;this.onerror=null'"/> |
下面是通过js的判断
用javascript判断指定图片文件是否存在:
如判断<img src="http://www.jb51.net/logos.gif">这个图片地址是否存在.
如果不存在,隔几秒重新探测此图片,如果地址有效则,提示地址有效
<script type="text/javascript">function IsExist(url){ x = new ActiveXObject("Microsoft.XMLHTTP") x.open("HEAD",url,false) x.send() return x.status==200}alert(IsExist("http://www.jb51.net/logos.gif"));</script>图片存在则上面的返回true
<SCRIPT language="javascript">var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");xmlhttp.Open("GET", "http://www.jb51.net/logos.gif", false);xmlhttp.Send();alert(xmlhttp.responseText);</SCRIPT>图片存在则返回GIF89aX
<img src="http://www.jb51.net/logos2.gif" onerror="alert('该图片不存在!');">
因为图片不存在则返回该图片不存在!
补充:
down vote
accepted
You could use something like: function imageExists(image_url){ var http = new XMLHttpRequest(); http.open('HEAD', image_url, false);
http.send(); return http.status != 404; }
Obviously you could use jQuery/similar to perform your HTTP request. $.get(image_url)
.done(function() {
// Do something now you know the image exists. }).fail(function() {
// Image doesn't exist - do something else. })
原地址:http://www.jb51.net/article/8796.htm
js判断img是否存在的更多相关文章
- js判断本机是否已安装app
需求:在浏览器或者app webview中打开的页面,js判断本机是否已安装搜狐新闻客户端. 一.微信 1.分享——好友/朋友圈,feed会有搜狐新闻标记,打开url后缀参数isappinstalle ...
- js判断网页是否加载完毕 包括图片
<script type="text/javascript" language="JavaScript"> //: 判断网页是否加载完成 docum ...
- 为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件
为不同分辨率单独做样式文件,在页面头部用js判断分辨率后动态加载定义好的样式文件.样式文件命名格式如:forms[_屏幕宽度].css,样式文件中只需重新定义文本框和下拉框的宽度即可. 在包含的头文件 ...
- JS判断网页是否在微信中打开/
JS判断网页是否在微信中打开,代码如下: <script type="text/javascript"> function is_weixn(){ var ua = n ...
- js判断当前页面在移动设备还是在PC端中打开
方法一: var isPC = function () { var userAgentInfo = navigator.userAgent.toLowerCase(); var Agents = ne ...
- js判断undefined类型
js判断undefined类型 if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用ty ...
- js判断只能输入数字和只能输入
JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'' ...
- 兼容各浏览器的js判断上传文件大小
由于项目需要,在网上找了一个JS判断上传文件大小的程序,经测试兼容IE6-,Firefox10,Opera11.,safari5.,chrome17 <!DOCTYPE html> < ...
- JS判断字符串长度的5个方法
这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.pr ...
- H5案例分享:使用JS判断客户端、浏览器、操作系统类型
使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...
随机推荐
- lombok编译时注解@Slf4j的使用及相关依赖包
slf4j是一个日志门面模式的框架,只对调用者开放少量接口用于记录日志 主要接口方法有 debug warn info error trace 在idea中可以引入lombok框架,使用@Slf4j注 ...
- vue-cli 引入stylus报错
在App.vue页面添加以下代码报错: <style lang="stylus" rel="stylesheet/stylus"> </sty ...
- Redis学习笔记——Redis的基本操作
之前介绍过如何在ubuntu安装Redis服务器:https://www.cnblogs.com/zifeiy/p/9062738.html 接下来,我们在Redis上进行一些基本的操作. 所县使用命 ...
- JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari……
1.JavaScript 方法: <script> document.onkeydown=function(event){ e = event ? event ...
- python迭代器、生成器、装饰器之迭代器
迭代是Python最强大的功能之一,是访问集合元素的一种方式. 一般分为可迭代对象,迭代器,可迭代对象不一定是迭代器,但迭代器一定是可迭代对象 1.可以直接作用于for循环的数据类型 第一类:集合数据 ...
- Paper Mark2
论文:CBAM: Convolutional Block Attention Module 论文链接 pytorch代码 论文:Approach for Fashion Style Recogniti ...
- Docker镜像仓库Harbor搭建
园子里面已经有人写过了.也写得很好,我这里只记录下我遇到的问题 Harbor 依赖: 1:docker 2:docker-compose 怎么安装就不说了. 然后是安装Harbor github:ht ...
- vmware虚拟机网络不通原因之一
我是在华硕笔记本上安装的vmware workstation.而且我用虚拟机的网络模式喜欢选“桥接”模式. 最近在虚拟上做实验,打开虚拟机windows 2003后,网卡配置静态ip后显示状态正常,但 ...
- Ctrl + 逗号快捷键被占用[搜狗输入法]
Ctrl+,(或者Ctrl+逗号)被占用. 快捷键忽然不能用了,只要一用快捷键自动唤醒搜狗输入法,呵呵.极度影响使用. 就说怎么禁掉吧: 其他快捷键禁用参考 参考: 搜狗桌面论坛 注:搜狗输入法一次占 ...
- APP 和小程序中通过日期格式获取时间戳的一个bug
介绍一下背景:业务逻辑就不多说了,就说关键出问题的一步,需要将 2019-10-10 这个格式转换为时间戳.在不同平台不同场景下问题还很怪异 app上:ios 安卓线上的都有问题 ios模拟器没问题 ...