图像加载不适用于 IE 8 或更低版本

2024-01-12

我的目的是检查图像是否已成功加载。它在现代浏览器中运行良好,但在 IE8 或 7 中这是一个可怕的问题。这是示例代码:

var img = new Image(),
    url = 'http://something.com/images/something.gif';

    $(img).attr('src', url).load(function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } 
        else {
            alert('successfully loaded');
        }
    } 

有人有解决这个问题的想法吗?提前致谢!


你必须设置onload在设置之前处理程序.src价值。

在某些版本的 IE 中,如果图像在浏览器缓存中,则加载事件将立即被触发。.src值已设置。如果您的负载处理程序尚未就位,您将错过该事件。

Also, naturalWidth and naturalHeight旧版本的 IE 不支持,因此它们始终是未定义的。而且,你应该使用onerror and onabort捕获错误条件。

为此无需使用 jQuery。你可以这样做:

var img = new Image(),

img.onload = function() {
    alert("loaded successfully");
}
img.onerror = img.onabort = function() {
    alert("broken image");
}
// only set .src AFTER event handlers are in place
img.src = 'http://something.com/images/something.gif';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像加载不适用于 IE 8 或更低版本 的相关文章

随机推荐

  • MATLAB 搜索元胞数组中的字符串子集

    我试图在 MATLAB 的元胞数组中查找子字符串出现的位置 下面的代码可以工作 但是相当难看 在我看来应该有一个更简单的解决方案 cellArray these are some nicewords and some morewords w
  • 无可用来源

    我不确定发生了什么或者我是否做了什么 现在 每当我尝试调试时 它都会说所有 BCL 内容都没有可用的源代码 例如 在 debug print 上我收到该消息 定位源 f dd ndp fx src CompMod System Diagno
  • MFCC Python:librosa、python_speech_features、tensorflow.signal 的结果完全不同

    我正在尝试从音频 wav 文件 中提取 MFCC 特征 并且我已经尝试过python speech features and librosa但他们给出了完全不同的结果 audio sr librosa load file sr None l
  • amCharts v5 模板适配器示例在作为 TypeScript 而不是 JavaScript 运行时抛出错误

    我正在尝试根据值更改条形颜色 即在 JS 中很简单 https codepen io team amcharts pen KKmbKBg editors 1111 但是当我在 TSX 文件中实现代码时 它给了我一个错误 正如你所看到的 VS
  • 循环 R 列

    我有一个data frame in R它由许多带有数值的列组成 像这样 A B C 0 6057 0 1644 6 93 0 5723 0 117 6 59 0 5614 0 1552 7 02 0 4102 0 1059 5 24 0 4
  • Entity Framework 7 Code First 中的一对一关系

    如何使用数据注释或 Fluent Api 在 Entity Framework 7 Code First 中配置一对一或零或一对一关系 您可以使用 Entity Framework 7 中的 Fluent API 定义 OneToOne 关
  • 在 Python 中从 opencv 3 创建类 Rect 的实例

    我想知道如何通过提供两个点来获取 opencv 矩形对象 C 版本提供了这个数据结构 http docs opencv org java 2 4 9 org opencv core Rect html http docs opencv or
  • 如何在 sbt 启动时运行命令并保持会话活动?

    如果我们定义initialCommands in console 1 1 这将在控制台执行后运行 是否可以在 sbt 启动后运行命令 例如initialCommands in sbtStartup console 自动进入控制台 我想保持会
  • Azure 个人访问令牌 API 中的 subjectDescriptor 是什么

    我正在尝试编写一个脚本来自动化 Azure DevOps 环境的某些方面 但我很难为特定用户返回 PAT 以便能够授权他们执行 API 调用 有人能给我一个关于 subjectDescriptor 是什么以及在哪里可以找到它的示例吗 我已读
  • VueJS - 模型绑定不适用于使用 jQuery 插件的输入

    我正在努力转换表单以利用 VueJS 该表单有一个使用 eonasdan bootstrap datetimepicker 的出生日期输入 http eonasdan github io bootstrap datetimepicker h
  • 为什么 Divi 短代码不能在 wp-json 中呈现?

    我正在尝试使用the content过滤器来处理 Divi 短代码 但短代码仍然出现 特别是 et pb section et pb column et pb text 如果有的话 add action rest api init func
  • 从 zip 文件加载 pickle 文件

    由于某种原因 我无法让 cPickle load 处理 ZipFile open 返回的文件类型对象 如果我对 ZipFile open 返回的文件类型对象调用 read 我可以使用 cPickle loads 例子 import zipf
  • Firebase 本地通知

    当 Firebase 回调时是否有可能触发本地通知 我猜我的线程有问题 Firebase setDispatchQueue dispatch get global queue DISPATCH QUEUE PRIORITY DEFAULT
  • 持久化 sha256 哈希对象?

    我需要一个 Python C C Java 实现 它可以暂停散列进度 and store文件的进度以这样的方式进行 可恢复的稍后从该文件中获取 无论上面列出的语言是用什么语言编写的 它都应该在 Python 中正常工作 建议您提供它以便与
  • 如何在 Flash 应用程序中创建退出按钮

    我正在创建一个 Flash 应用程序 该应用程序将导出到exe格式 它不会在浏览器中运行 我想在舞台内添加一个退出按钮 但我不知道如何使用 ActionScript 3 来做到这一点 我记得这是可能的fscommand在 ActionScr
  • Chef 中的动态角色属性

    我想要厨师食谱network interfaces为我的每个节点提供 IP 地址 网络掩码等的动态值 对我有用的是以下内容 db role rb 块1 override attributes network interfaces gt de
  • XBMC/KODI 添加插件时出错“结构不正确”

    我正在关注 KODI XBMC hello world 插件教程here http kodi wiki view HOW TO HelloWorld addon我从下载了完成的项目here https github com zag2me p
  • 实际 javascript 练习的资源 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 python 中精确复制 R 文本预处理

    我想使用 Python 预处理文档语料库 就像在 R 中一样 例如 给定一个初始语料库 corpus 我希望最终得到一个与使用以下 R 代码生成的语料库相对应的预处理语料库 library tm library SnowballC corp
  • 图像加载不适用于 IE 8 或更低版本

    我的目的是检查图像是否已成功加载 它在现代浏览器中运行良好 但在 IE8 或 7 中这是一个可怕的问题 这是示例代码 var img new Image url http something com images something gif