为什么IE 9不支持JavaScript功能?

时间:2014-08-08 06:13:25

标签: javascript jquery function validation internet-explorer-9

我试图在运行时创建一个检查文件大小和扩展名的功能,我已经完成了它并在所有浏览器上正常工作,除了9.可以有人让我知道问题在哪里吗?

的Javascript

<script type='text/javascript'>
function showFileSize() {
    var input, file;

    // (Can't use `typeof FileReader === "function"` because apparently
    // it comes back as "object" on some browsers. So just see if it's there
    // at all.)
    if (!window.FileReader) {
        bodyAppend("p", "The file API isn't supported on this browser yet.");
        return;
    }

    input = document.getElementById('fileinput');

   if (!input.files[0]) {
        bodyAppend("p", "Please select a file before clicking 'Load'");
    }
    else {
        file = input.files[0];
        var sFileName = file.name;
        var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1].toLowerCase();

        bodyAppend("p", "File Type " + sFileExtension + " is " + file.size + " bytes in size");
    }
}

function bodyAppend(tagName, innerHTML) {
    var elm;

    elm = document.createElement(tagName);
    elm.innerHTML = innerHTML;
    document.body.appendChild(elm);
}
</script>

HTML

<form action='#' onsubmit="return false;">
<input type='file' id='fileinput'>
<input type='button' id='btnLoad' value='Save' onclick='showFileSize();'>
</form>

2 个答案:

答案 0 :(得分:0)

IE9不支持HTML5文件API,包括FileReader() ..

可能的解决方法是polyfill,下面的解决方案使用Flash来提供对不支持文件API(IE和Safari)的浏览器上的文件系统的访问,但它不支持drag-n-降

答案 1 :(得分:0)

相反,克隆输入,将克隆放在原始位置,然后将原始内容移动到隐藏的表单中。您可能必须使用iframe。

这肯定会奏效但涉及一些编码。