簡體   English   中英

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]為null,但是我不在乎,如何告訴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不支持files屬性。

如您所見, 這里需要 IE10。

所以試試這個:

var file; 
try{
   file = document.getElementById('files').files[0];
}catch(error){
   file= null;
}

PS:我為我的英語不好而道歉

var file = document.getElementById('files').files[0] || "undefined";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM