web-dev-qa-db-fra.com

ActiveXObject n'est pas défini et ne trouve pas de variable: ActiveXObject

je veux créer un fichier texte en local, lorsque je navigue dans Google chrome cliquez sur le bouton, il affiche une erreur comme ActiveXObject n'est pas défini et lorsque je navigue en safari cliquez sur le bouton, il affiche une erreur comme impossible de trouver la variable: ActiveXObject. tout le monde peut m'aider.Comment puis-je obtenir et créer un fichier .Merci

<script>
      function createFile() {    
      var object = new ActiveXObject("Scripting.FileSystemObject");       
      var file = object.CreateTextFile("C:\\Hello.txt", true);
      file.WriteLine('Hello World');
      alert('Filecreated');
      file.WriteLine('Hope is a thing with feathers, that perches on the soul.'); 
      file.Close();
      }
    </script>
<input type="Button" value="Create File" onClick='createFile()'>
17
Ramesh Lamani

ActiveXObject est disponible uniquement sur le navigateur IE. Ainsi, tous les autres agents utilisateurs génèrent une erreur

Sur un navigateur moderne, vous pouvez utiliser à la place File API ou File writer API (actuellement implémenté niquement sur Chrome )

23
fcalderan

ActiveXObject n'est pas standard et n'est pris en charge que par Internet Explorer sous Windows.

Il n'y a aucun moyen natif pour tous les navigateurs d'écrire dans le système de fichiers sans utiliser de plugins, même le brouillon File API donne un accès en lecture seule.

Si vous voulez travailler sur plusieurs plates-formes, vous devez regarder des choses comme les applets Java signées (en gardant à l'esprit que cela ne fonctionnera que sur les plates-formes pour lesquelles le Java runtime est disponible).

11
Quentin

Une application Web peut demander l'accès à un système de fichiers en bac à sable en appelant window.requestFileSystem(). Fonctionne dans Chrome.

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
var fs = null;

window.requestFileSystem(window.TEMPORARY, 1024 * 1024, function (filesystem) {
    fs = filesystem;
}, errorHandler);

fs.root.getFile('Hello.txt', {
    create: true
}, null, errorHandler);

function errorHandler(e) {
  var msg = '';

  switch (e.code) {
    case FileError.QUOTA_EXCEEDED_ERR:
      msg = 'QUOTA_EXCEEDED_ERR';
      break;
    case FileError.NOT_FOUND_ERR:
      msg = 'NOT_FOUND_ERR';
      break;
    case FileError.SECURITY_ERR:
      msg = 'SECURITY_ERR';
      break;
    case FileError.INVALID_MODIFICATION_ERR:
      msg = 'INVALID_MODIFICATION_ERR';
      break;
    case FileError.INVALID_STATE_ERR:
      msg = 'INVALID_STATE_ERR';
      break;
    default:
      msg = 'Unknown Error';
      break;
  };

  console.log('Error: ' + msg);
}

Plus d'infos ici .

2
jasssonpet