最好的处理方法是什么:在 JavaScript 中,对于大小为零的图像,不会触发加载
What is the best way to handle: onload not being triggered for images with size zero in JavaScript?
为了确保在我们的页面上加载图像,然后进入下一个状态,我们使用了下面提到的onload
方法:
image = new Image();
image.onload = function(){
// go to the next state
};
image.src = image_url;
问题是不会为大小为零的图像触发事件,因此页面保持停止模式并且不会进入下一个状态。
对于大小为零的图像onload
未触发功能的问题,处理该问题的最佳方法是什么?
相关问题:
1-新图像(),如何知道图像是否100%加载?
如果您希望进程在图像完成加载或加载失败时继续,则可以将事件处理程序添加到.onerror
事件:
var image = new Image();
image.onload = image.onerror = function () {
// go to the next state
};
image.src = image_url;
如果您确实想使用 0 大小的文件执行此操作,请尝试使其成为脚本。 0 大小脚本有效。看:
尝试在脚本标记上触发 onload 事件
或者,如果您确实有一些真实的图像,但有些图像"什么都没有",请使用 1x1 的"clear_pixel.gif"。你也可以用css让它不可见(尽管这样你也不会看到真实的图像),也许有一种方法可以在加载中从js中检测图像的实际大小。
你能给图像一个非 0 的大小,然后使用 position:absolute 将它们放在不可见的页面上吗?
height:1px
width:1px
position:absolute
left:-1000000px
(我在这里假设它们是非零大小的实际图像,但是您使img元素的大小为0以使图像不可见。我不太确定是不是这样。
相关文章:
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 无法在Cordova 4.0 ios中将jpg/jpeg图像转换为Base64
- 将图像下载为数据url时出错
- ng文件上传获胜't将jpg图像转换为png
- 将多个重叠的透明图像保存为一个图像
- 将href中的图像替换为其他元素中的图像
- 以编程方式将fabric-js-canvas的图像替换为hq图像,并重新计算其他对象的坐标和大小
- 如何将图像制作为按钮并将其重定向到另一个页面
- 在Android浏览器中将图像渲染为数据流
- jsPDF addHTML将低质量图像导出为PDF
- 如何使用JavaScript将Base64图像更改为常规图像
- jQuery 图像替换为类
- 将普通的 PNG 图像转换为 JSON 数据,然后存储到对象
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 如何使用 jquery 和 css 在固定标题导航栏中将头像图像调整为较小的图像
- 在鼠标悬停时将中心图像更改为较小的图像
- 如何根据缩放将大图像拆分为小平铺