JS获取图片高度宽度的方法分享


Posted in Javascript onApril 17, 2015

一般获取图片高度宽度的写法:

var img = new Image();

img.src = imgsrc;

var imgWH = CalcImgTiple(img.width, img.height);

但chrome中测试 无法获取到。img.width, img.height都为0

原因:当图片不是本地图片,而是网络图片
onload 在成功地装载了图像时调用的事件处理程序。

在做web开发,其中有一个需求:利用Javascript获取要加载的图片的尺寸,所以很自然的,想到了img的onload方法,在firefox下开发完成后,到IE下调试,发现img的onload事件很多情况下都不被调用。

最初的代码如下:

var img = new Image;

img.src = "test.gif";

img.onload = function(){

alert ( img.width );

};

这段代码看着没什么问题,但是为什么onload没有被IE调用呢?因为IE会缓存图片,第2次加载的图片,不是从服务器上传过来的,而是从缓冲区里加载的。是不是从缓冲区里加载的图片就不触发onload事件呢?我于是我测试了以下代码,成功了~

var img = new Image;

img.onload = function(){

alert ( img.width );     };

img.src = "test.gif";

把onload写到前面去,先告诉浏览器如何处理这张图片,再指定这张图片的源,这样就正常了。所以,不是IE没有触发onload事件,而是因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了。这让想到了Ajax,在写xmlhttp的时候,都是先指定onstatechange的回调函数,然后再send数据的,道理是一样的

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
超级简单的图片防盗(HTML),好用
Apr 08 Javascript
javascript获取web应用根目录的方法
Feb 12 Javascript
深入解读JavaScript中的Hoisting机制
Aug 12 Javascript
js获取所有checkbox的值的简单实例
May 30 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
vue router demo详解
Oct 13 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
原生JS实现音乐播放器
Jan 26 Javascript
JS替换字符串中空格方法
Apr 17 #Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 #Javascript
jQuery实现自定义事件的方法
Apr 17 #Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 #Javascript
js实现touch移动触屏滑动事件
Apr 17 #Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 #Javascript
JavaScript对象反射用法实例
Apr 17 #Javascript
You might like
说明的比较细的php 正则学习实例
2008/07/30 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
php分页查询的简单实现代码
2017/03/14 PHP
prettify 代码高亮着色器google出品
2010/12/28 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python strip()函数 介绍
2013/05/24 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
python实现爬取图书封面
2018/07/05 Python
Python3远程监控程序的实现方法
2019/07/15 Python
使用pandas读取文件的实现
2019/07/31 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
python简单实现9宫格图片实例
2020/09/03 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
初婚初育证明
2014/01/14 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
任命书范本大全
2014/06/06 职场文书
初中学校对照检查材料
2014/08/19 职场文书
总经理年会致辞
2015/07/29 职场文书
配置Kubernetes外网访问集群
2022/03/31 Servers
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript