最近在做wBox
开发中,需要做一个图片的幻灯片效果,为了方便加载速度,我使用了new Iamge
的对象方法来预加载图片
,当图片onLoad就运行一个函数来计算图片的大小尺寸,进行jQuery动画
,以及切换图片src,在firefox
下开发完成后,可是到了IE下进行调试总是不会触发onload
事件,不管是IE8、IE7还是万恶的IE6,都不会触发onload事件,我很迷惑,后来在google上找到了解决
的方法:一下为引用部分
最初的代码如下:
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数据的,道理是一样的。
分享到:
相关推荐
标题中所提到的知识点是“js的image onload事件使用遇到的问题”,这涉及到JavaScript中Image对象的onload事件处理。在Web前端开发中,onload事件是一个非常重要的概念,主要用于处理图片或者其他资源加载完成后的...
在网页开发中,`body.onload` 和 `window.onload` 是两个常见的JavaScript事件处理函数,用于在页面完全加载后执行特定的代码。它们都是用来确保在执行任何操作之前,页面的所有资源(包括HTML、CSS、JavaScript、...
脱离document.onload和window.onload的onload事件,可多次添加加载事件!
在网页开发过程中,`window.onload` 和 `insertAfter()` 方法是两个非常实用且重要的技术点。它们可以帮助开发者更好地控制页面加载流程以及动态地操作DOM(文档对象模型)。本文将深入探讨这两个方法的基本原理、...
在JavaScript中,`window.onload` 是一个非常关键的事件,用于确保在页面所有资源(包括图像、脚本、样式表等)完全加载之后再执行指定的函数或代码块。这通常用于那些依赖于页面元素存在的操作,因为这些操作需要...
在网页开发中,我们经常需要动态加载图片,这时就需要利用到Image对象的加载事件(onload)和加载状态(complete)属性。这两个特性可以帮助我们实时监控图片的加载进度,从而实现更灵活的交互效果。 首先,`onload...
image-size使用该插件,可以在图片onload之前获取图片的大小,在瀑布流布局中,应该可能会有用处。###实现原理:使用轮询,在图片onload之前,获取到图片大小。如果图片已经被缓存过,直接返回相关信息。回调参数...
然而,在IE浏览器(尤其是旧版本)中,图片的`onload`事件可能会出现一些异常情况,导致事件无法正常触发。这个问题主要与IE的图片缓存机制有关。 当一个图片被加载一次后,IE会将其缓存起来,以便于下次快速显示。...
当设置为`accept="image/*"`时,用户将能够从他们的设备库中选择图片,或者在支持的设备上,直接通过相机拍照。这个特性在移动开发中特别有用,因为许多手机用户更倾向于即时拍摄照片而不是从图库中选择。 以下是一...
本文实例讲述了IE8中动态创建script标签onload无效的解决方法。分享给大家供大家参考。具体分析如下: 今天做项目,发现一个奇怪的问题,动态创建的script标签在IE8下无法触发onload事件。 代码如下: 代码如下:var...
windows
随着浏览器更新迭代,如IE8及更高级别的版本已经原生支持PNG透明,这样的问题在新的开发环境中已经不再是难题。 总之,iepngfix是针对IE6浏览器PNG透明问题的一种解决方案,通过JavaScript技术实现对PNG图片的透明...
本来按照事件顺序,小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。 //app.js App({ onLaunch: ...
NULL 博文链接:https://snandy.iteye.com/blog/666530
– function addImg(isrc) { var Img = new Image(); Img.src = isrc; Img.onload = function () { document.body.appendChild(Img); } } //–> [removed] 当包含上述代码的页面打开时并不载入 “tt.jpg” ,当点击...
这样做可以避免因浏览器的加载速度过快而导致的`onload`事件失效问题。此外,Firefox等浏览器在检测到缓冲区已有图片时会直接触发`onload`事件,展示了更智能的行为。因此,编写跨浏览器兼容的代码时,对这些差异要...
实际应用中,可能还需要考虑错误处理、多图片上传、兼容性等问题。记得在服务器端设置正确的接收方式,比如使用Node.js的Multer库处理multipart/form-data格式的数据。完成这些步骤后,用户就可以在H5应用中轻松地上...
在JavaScript中,读取Excel文件(.xls)并兼容多种浏览器,如Chrome、IE和Firefox,是一项常见的需求。这通常涉及到文件API、ActiveXObject(针对IE)和第三方库的使用。下面将详细介绍如何实现这一功能。 首先,...