Javascript 在 Internet Explorer 中破坏属性的空值 - 如何让 IE 忽略这一点
Javascript breaking on null value of property in Internet Explorer - How can I get IE to ignore this?
Internet Explorer 正在为以下代码生成此错误:
SCRIPT5007: Unable to get value of the property '0': object is null or undefined
for "document.getElementById('files').files[0]
"
没错...files[0] 为空,但我不在乎,我怎么能告诉 IE 不在乎呢?
谢谢
var elem = document.getElementById('files'),
file = elem.files && elem.files[0];
这将短路并在文件未定义的情况下返回undefined
,否则它将返回第一个文件。
需要澄清的是,该错误指示files
是未定义的变量,访问属性0
会导致错误。 如果它本身files[0]
,表达式将只返回undefined
。
试试...
var file;
if (document.getElementById('files').files){
file = document.getElementById('files').files[0];
}
这很古老,但我想回答任何像我一样来到这里的人
正如丹尼斯所说,该错误表明文件是一个未定义的变量,我很确定问题是IE9不支持文件属性。
正如你在这里看到的,IE10是必需的。
所以试试这个:
var file;
try{
file = document.getElementById('files').files[0];
}catch(error){
file= null;
}
PS:我为我糟糕的英语道歉
var file = document.getElementById('files').files[0] || "undefined";
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- gmap3如何做到这一点-它显示圆圈的任何事件
- 硒元素在这一点上是不可点击的
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- AngularJS:有没有比指定的方法更好的方法来实现这一点
- Mootorial在这一点上有多重要或过时
- Javascript递归函数引用了这一点
- 我想听听服务器上的更改,并相应地更新我的网页.我如何用Javascript做到这一点
- JavaScriptEs6在内部函数中引用了这一点
- js并在加载前编辑url-如何做到这一点
- 角度缩小2-有人成功做到这一点吗
- Javascript OOP-在异步回调中丢失了这一点
- 谷歌地图与方向 - 我可以在没有表单标签的情况下做到这一点吗?
- config.fullPage = true;在 ckEditor 内联模式下无法正常工作.如何实现这一点
- window.btoa( // here programcode // ) 如何做到这一点
- 如何在Jquery中实现这一点?(JS到Jquery)
- 如何优化这一点
- 我将如何做到这一点
- Javascript 在 Internet Explorer 中破坏属性的空值 - 如何让 IE 忽略这一点