8
votes

Comment créer un fichier à l'aide de JavaScript dans Mozilla Firefox

Je veux écrire une fonction dans JavaScript qui crée un fichier et écrivez du contenu, IAM travaillant avec Firefox, peut-on m'aider dans ce cas.

merci ...


1 commentaires

J'ai répondu à la question qui envisage de créer un fichier au client, de la même manière Tiddlywiki. Certaines personnes ont rejeté la question comme elles interprètent que vous demandez si JavaScript peut créer des fichiers du côté serveur. Peut-être que vous devriez clarifier.


8 Réponses :


1
votes

JavaScript s'exécute dans un contexte côté client.

http://www.tek-tips.com/viewthread. .cfm? qid = 1171273 & Page = 1


1 commentaires

Mais il montre une erreur comme "Créer un objet n'est pas défini".



2
votes

L'écriture dans le système de fichiers directement à partir d'un navigateur est interdite pour des raisons de sécurité. Avec HTML5, cependant, il sera possible d'avoir un support de stockage hors ligne. Jetez un coup d'œil ici .

grz, kris.


0 commentaires

3
votes

JavaScript à partir de sites Web ne peut pas accéder au système de fichiers local.

Si vous souhaitez stocker des données, rangez-la sur le serveur ou dans un cookie.


0 commentaires

0
votes

Alors que tout le monde qui a répondu que JavaScript n'a pas la possibilité d'écrire des fichiers sur un serveur distant est correct, ce qui est vrai pour des raisons de sécurité, ce que vous voulez accomplir peut toujours être possible.

Par exemple, si vous Je voulais permettre de créer un fichier sur votre site Web avec l'utilisation de JavaScript, vous pouvez le faire avec une langue de script de côté serveur et un appel AJAX. P>

Exemple: P>

vous avoir un fichier sur votre serveur appelé update_last_access.php code> qui créera un fichier qui stocke la dernière fois que le fichier a été accédé dans un fichier arbitraire. p>

Si vous avez ensuite eu votre fonction JavaScript Faites un appel Ajax sur ce script, par exemple, dans JQuery P>

$.get("update_last_access.php")


0 commentaires

0
votes

Vous pouvez lire des fichiers à partir du système de fichiers en JavaScript avec Firefox 3.6 - voir mon Lecteur EPUB Lecteur de concept , par exemple.

Vous ne pouvez pas écrire des fichiers directement à partir de JavaScript, cependant. Vous devez aller via un serveur.


0 commentaires

4
votes

Vous pouvez écrire des fichiers dans JavaScript dans Firefox, mais vous devez utiliser un objet XPCOM (API de navigateur interne). Ceci n'est pas autorisé pour JavaScript chargé à partir d'une page Web, et il est destiné à être utilisé par JavaScript en cours d'exécution à l'intérieur d'un complément Firefox (avec des privilèges élevés).

Il existe un moyen pour les agressions (page Web) JavaScript Pour demander plus de privilèges et si l'utilisateur l'accorde (il y aura une boîte de dialogue contextuelle vous demander la permission), le code de page Web pourra écrire dans un fichier. P>

Mais avant de lire plus loin, un AVERTISSEMENT: P>

Ce n'est pas standard JavaScript et je ne recommanderais pas cette approche à moins que vous développiez une application très spécifique, qui sera utilisée de manière très spécifique (comme par exemple, http://www.tiddlyswiki.com/ Un wiki STIND-HTML côté client). P>

demandant Les privilèges XPCOM sur un site Web sont une mauvaise pratique! C'est fondamentalement équivalent à la gestion d'une .exe que vous venez de télécharger à partir d'un site. Vous demandez à un utilisateur d'accorder un accès complet à son ordinateur (lire, écrire, exécuter) avec l'identité de l'utilisateur exécutant Firefox. P>

Demande d'autorisation d'utiliser XPCom (cela demandera à l'utilisateur de confirmation, non moyen d'éviter): p> xxx pré>

puis, écrivez à un fichier à l'aide d'un objet XPCOM (exemple de code du réseau de développeurs Mozilla): P>

   1. // file is nsIFile, data is a string  
   2. var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].  
   3.                          createInstance(Components.interfaces.nsIFileOutputStream);  
   4.   
   5. // use 0x02 | 0x10 to open file for appending.  
   6. foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);   
   7. // write, create, truncate  
   8. // In a c file operation, we have no need to set file mode with or operation,  
   9. // directly using "r" or "w" usually.  
  10.   
  11. // if you are sure there will never ever be any non-ascii text in data you can   
  12. // also call foStream.writeData directly  
  13. var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].  
  14.                           createInstance(Components.interfaces.nsIConverterOutputStream);  
  15. converter.init(foStream, "UTF-8", 0, 0);  
  16. converter.writeString(data);  
  17. converter.close(); // this closes foStream  


0 commentaires


0
votes

Mozilla envisage d'inclure dossier à Gecko 9: https://bugzilla.mozilla.org/show_bug.cgi?id=557540


0 commentaires