欢迎光临,若觉得本博客的内容对您有帮助,请多点击边栏的Google广告,并提供意见及建议,谢谢!
Jun 12
    在测试某Web应用时,其中有段函数,用于动态的插入合适大小的图片到当前页面中。原理是:先利用JavaScript的Image对象读入图片,然后判断图片大小,当图片尺寸过大(超过阀值)时,给页面插入的HTML代码中,加入width和height的属性值。测试时发现,该功能有时候会失效,这时,width和height都会等于0。经分析,问题在于创建Image对象,并读入图片的过程会有延迟,不能立即得到图片的属性。而JavaScript是异步处理机制的,在图片未读完前,即继续往下执行。所以,导致获得的图片大小均为0。
    既然知道原因,那么处理方法很简单,就是在读取图片后,做个延时的处理,详细可参考:这里
    没想到,在调整我的代码时,发现对setTimeout()方法的使用还有不少误解的地方,特整理如下。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]