Je veux écrire une fonction en javascript qui crée un fichier et y écrire du contenu, iam travaillant avec firefox, quelqu'un peut-il m'aider dans ce cas.Comment créer un fichier en utilisant javascript dans Mozilla Firefox
Merci ...
Je veux écrire une fonction en javascript qui crée un fichier et y écrire du contenu, iam travaillant avec firefox, quelqu'un peut-il m'aider dans ce cas.Comment créer un fichier en utilisant javascript dans Mozilla Firefox
Merci ...
Javascript s'exécute dans un contexte client.
Mais il montre une erreur comme "Créer un objet n'est pas défini". – minu
écriture au 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. Take a look here.
Grz, Kris.
Javascript des sites Web ne peut pas accéder au système de fichiers local.
Si vous souhaitez stocker des données, stockez-les sur le serveur ou dans un cookie.
Ou sur le client dans le stockage Web https://developer.mozilla.org/en/dom/storage –
Alors que tous ceux qui ont répondu que javascript n'a pas la possibilité d'écrire des fichiers sur un serveur distant sont corrects, et cela est vrai pour des raisons de sécurité, ce que vous voulez accomplir peut toujours être possible. Par exemple, si vous souhaitez créer un fichier sur votre site Web avec javascript, vous pouvez le faire avec un langage de script côté serveur et un appel AJAX.
Exemple:
Vous avez un fichier sur votre serveur appelé update_last_access.php
qui va créer un fichier qui stocke la dernière fois que le fichier a été accessible dans quelques fichiers arbitraires.
Si vous avait alors votre fonction javascript faire un AJAX criez ce script, par exemple, dans jquery
$.get("update_last_access.php")
Ensuite cela exécuter le script côté serveur et écrire dans le fichier.
Avant que toute aide ne puisse vous être apportée, vous devrez clarifier ce que vous essayez de faire.
Vous pouvez lire les fichiers du système de fichiers en JavaScript avec Firefox 3.6 - voir par exemple mon EPUB reader proof of concept.
Vous ne pouvez pas écrire des fichiers directement à partir de JavaScript, cependant. Vous devez passer par un serveur.
Vous pouvez écrire des fichiers en 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 dans un add-on Firefox (avec un niveau élevé de privilèges).
Il existe un moyen pour le JavaScript non privilégié (page Web) de demander plus de privilèges et si l'utilisateur l'accorde (une boîte de dialogue contextuelle demandant l'autorisation), le code de la page Web pourrait écrire dans un fichier .
Mais avant de lire plus loin, un avertissement:
Ce n'est pas JavaScript standard et je ne recommanderais pas cette approche à moins que vous développez une application très spécifique, qui sera utilisé d'une manière très spécifique (comme pour exemple, http://www.tiddlywiki.com/ un wiki JavaScript-HTML uniquement côté client).
Demander des privilèges XPCOM sur un site Web est une mauvaise pratique! C'est fondamentalement équivalent à exécuter un fichier .exe que vous venez de télécharger depuis un site. Vous demandez à un utilisateur d'accorder un accès complet à son ordinateur (lecture, écriture, exécution) avec l'identité de l'utilisateur exécutant Firefox.
Demander la permission d'utiliser XPCOM (cela demandera confirmation à l'utilisateur, aucun moyen de l'éviter):
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
Ensuite, écrire dans un fichier en utilisant un objet XPCOM (exemple de code de Mozilla Developer Network) :
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
Vous pouvez trouver plus d'informations sur les E/S dans Firefox en utilisant XPCOM ici: https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O
Il y aura une API pour ce .. Fil e Writer API. La première spécification est ici: http://www.w3.org/TR/file-writer-api/ Il n'est encore implémenté dans aucun navigateur.
Mise à jour: Il semble qu'il existe déjà une implémentation. Consultez http://caniuse.com/filesystem et http://www.html5rocks.com/en/tutorials/file/filesystem/
Mozilla envisage d'inclure FileSaver Gecko 9: https://bugzilla.mozilla.org/show_bug.cgi?id=557540
Pourquoi downvote? –
J'ai répondu à la question en considérant qu'il s'agit de créer un fichier du côté client, de la même manière que TiddlyWiki. Certaines personnes ont rejeté la question en interprétant que vous demandez si JavaScript peut créer des fichiers côté serveur. Peut-être que vous devriez clarifier. – flpmor