Utiliser JavaScript pour écrire dans un fichier texte?
J'ai besoin de capturer les sujets de recherche à partir d'une de mes pages de blog et de les écrire dans un fichier texte pour le suivi. J'ai été en mesure de capturer la chaîne d'entrée, cependant, je ne suis pas capable de l'écrire dans un fichier texte. J'ai lu et essayé de mettre en œuvre toutes les solutions que j'ai trouvé, sans succès. Je trouve un très simple exemple de code pour écrire du texte dans un fichier mais je ne peux pas le faire fonctionner. L'événement Onblur fonctions amende pour accéder à la fonction myFunction, ce n'est donc pas de problème. Je suis fou comme échantillons présentés à partir d'autres sont tellement simples.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>fs=Server CreateObject ("Scripting FileSystemObject")</title>
<script type="text/javascript">
function myFunction()
{
var fs = ActiveXObject("Scripting.FileSystemObject");
var f = fs.OpenTextFile("d:\\test\\topics.txt", 8, true);
f.WriteLine("This text will be added to the end of file");
f.Close();
}
</script>
</head>
<body>
<input name="Text1" type="text" size="55" onblur="myFunction()" />
</body>
</html>
- Voulez-vous écrire le fichier sur le client ou le serveur? Vous n'aurez pas de chance, l'écriture sur le serveur avec JavaScript.
- Où avez-vous l'exemple de code, et quel navigateur vous essayer d'obtenir que cela fonctionne sur? Les objets ActiveX travailler uniquement avec Internet Explorer... et je ne sais pas s'ils fonctionnent avec les versions récentes d'Internet Explorer.
- Aussi, ActiveX ne fonctionne que pour IE. Je vous recommande l'oublier.
- HTML5 ne peut vous laisser écrire des fichiers texte pour le client et non serveur.
Vous devez vous connecter pour publier un commentaire.
Si vous êtes en utilisant des navigateurs qui supportent le data-uri, vous pouvez créer du contenu avec javascript et forcer un téléchargement par le codage base64 et de le rendre compatible avec le data-uri, puis simplement en pointant la fenêtre de localisation à elle.
Cette réponse démontre une HTML-seule façon de le faire.
Vous pouvez également utiliser un flash de l'aide pour prendre soin de cela. Par exemple, Downloadify fait cela.
JavaScript ne peut pas lire/écrire des fichiers à partir du client ou d'écrire des fichiers sur le serveur (directement).
Si vous voulez écrire des fichiers sur le serveur envisager d'utiliser des scripts côté serveur qui va interagir avec votre javascript - et exemple sur comment faire cela avec un peu de PHP.
En termes de fichier client de l'interaction c'est tout simplement impossible pour des raisons de sécurité (sauf si il est téléchargé vers le script dans ce cas, il est accessible en lecture).
Cependant, vous pouvez stocker des données sur les clients - j'ai déjà été à l'aide de jStorage et le recommande fortement. Il fonctionne de la croix-navigateur (même sur IE 6) et est extrêmement facile à utiliser.
Merci pour toutes les suggestions fournies par les membres, j'ai été en mesure d'effectuer l'écriture et l'ajout de texte le fichier sur le serveur. J'ai utilisé le code html pour acquérir mes données nécessaires pour l'écriture et a ensuite appelé un .fichier php à faire de l'écriture dans le fichier. C'était un côté de client /serveur à côté et le .php résolu, à l'aide de fopen, fwrite et fclose.
Techically, lors de l'utilisation de javascript dans un (.hta) de fichiers, vous pouvez utiliser le ActiveXObject
Scripting.FileSystemObject
pour accéder au système de fichiers, avec elle il y a toutes les commandes dont vous avez besoin de faire quelque chose pour le système de fichiers que vous avez la permission de le faire.