相关疑难解决方法(0)

如何创建JavaScript回调以了解何时加载图像?

我想知道图像何时完成加载.有没有办法用回调来做到这一点?

如果没有,有没有办法做到这一点?

javascript image loading callback

121
推荐指数
7
解决办法
15万
查看次数

img onload在IE7中不能很好地工作

我的webapp中有一个img标记,它使用onload处理程序来调整图像大小:

<img onLoad="SizeImage(this);" src="foo" >
Run Code Online (Sandbox Code Playgroud)

这在Firefox 3中工作正常,但在IE7中失败,因为传递给SizeImage()函数的图像对象由于某种原因的宽度和高度为0 - 也许IE在完成加载之前调用该函数?在研究这个问题时,我发现其他人对IE也存在同样的问题.我还发现这不是有效的HTML 4.这是我们的doctype,所以我不知道它是否有效:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

在加载图像时是否有合理的解决方案来调整图像大小,最好是符合标准的图像?该图像用于用户上传自己的照片,几乎可以是任何尺寸,我们希望以最大150x150的速度显示它.如果您的解决方案是在上传时调整图像服务器端的大小,我知道这是正确的解决方案,但我禁止实现它:(必须在客户端完成,并且必须在显示时完成.

谢谢.

编辑:由于我们的应用程序的结构,在文档的onload中运行此脚本是不切实际的(接近不可能).我只能合理地编辑图像标签及其附近的代码(例如我可以<script>在它下方添加一个右侧).此外,我们已经拥有Prototype和EXT JS库......管理层更愿意不必添加另一个(一些答案提示jQuery).如果可以使用这些框架解决这个问题,那就太棒了.

编辑2:不幸的是,我们必须支持Firefox 3,IE 6和IE 7.我们也希望支持所有基于Webkit的浏览器,但由于我们的网站目前不支持它们,我们可以容忍只能在大3.

html javascript internet-explorer image

14
推荐指数
2
解决办法
3万
查看次数

标签 统计

image ×2

javascript ×2

callback ×1

html ×1

internet-explorer ×1

loading ×1