Pourquoi IE 9 ne supporte pas la fonction JavaScript?

J’essaie de créer une fonction permettant de vérifier la taille du fichier et son extension au moment de l’exécution. Je l’ai fait et je fonctionne correctement sur tous les navigateurs sauf 9. Quelqu’un peut-il me dire où est le problème?

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); }  

HTML

 

IE9 ne prend pas en charge l’API de fichier HTML5, y compris FileReader() .

La solution ci-dessous utilise Flash pour fournir un access au système de fichiers sur les navigateurs ne prenant pas en charge les API de fichiers (IE et Safari), mais ne prend pas en charge le glisser-déposer .

  • Link here

  • Reference on why FileReader does not work for IE9

À la place, clonez l’entrée, placez le clone là où se trouve l’original et déplacez l’original dans un formulaire masqué. Vous devrez peut-être utiliser un iframe pour cela.

Cela fonctionnerait certainement mais impliquerait un certain codage.