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 ...
随机推荐
- Python命令行参数解析模块getopt使用实例
Python命令行参数解析模块getopt使用实例 这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参 ...
- LeetCode_107. Binary Tree Level Order Traversal II
107. Binary Tree Level Order Traversal II Easy Given a binary tree, return the bottom-up level order ...
- LeetCode_83. Remove Duplicates from Sorted List
83. Remove Duplicates from Sorted List Easy Given a sorted linked list, delete all duplicates such t ...
- centos6.8下配置vsftp
几个小时的调试 终于OK了 以下配置就算开了selinux 也照样能正常上传 注意 默认的上传目录 在 /home/用户名目录 如果不能下载文件 设置下文件的权限 一.安装VSFTP # yum -y ...
- mysql:服务无法启动解决
输入mysqld --console,查看报错 Found option without preceding group in config file E:\mysql-5.7.21-winx64\m ...
- dozer工具类
jar:commons-beanutils-1.9.3.jar.commons-lang-2.6.jar.dozer-5.3.2.jar.jcl-over-slf4j-1.7.25.jar.slf4j ...
- PHP实现无限极分类的两种方式,递归和引用
面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类 $array = array( array('id' => 1, 'pid' =& ...
- 20190722java学习习惯小结
1.周一——周六: 学习: 周日: 巩固练习测试. 2.java 大数据. python 人工智能 .. 3.写技术博客! 4.python应用: 人工智能.web开发.自动化运维.数据分析.爬虫.游 ...
- 关于远程链接 redis的坑·
今天遇到了一个问题,在redis.conf 中 将 bind: 注释掉bind 127.0.0.1 仍然不行 其实是要把bind 127.0.0.1 改为 0.0.0.0 才行 下面附赠详细过程 查看 ...
- 最新 思贝克java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.思贝克等10家互联网公司的校招Offer,因为某些自身原因最终选择了思贝克.6.7月主要是做系统复习.项目复盘.LeetCo ...