Je sais que cette question a déjà été posée, mais j'apprends toujours JavaScript, et j'ai de la difficulté à voir à travers la complexité des réponses des autres. J'ai un fichier texte dans le même répertoire qu'un fichier HTML qui lit JavaScript, et ce fichier texte contient littéralement une ligne. Je veux être en mesure de saisir cette ligne sur le fichier texte et le mettre dans une chaîne. Qu'est-ce qu'un moyen très simple de faire cela qui fonctionnera dans FF, IE et Chrome, et est, à part le choix du navigateur, est assez universellement valable? Encore une fois, je sais que cela a déjà été demandé, mais j'ai de la difficulté à choisir la vraie méthode à partir de la complexité de l'exemple de code que j'ai vu ailleurs. Merci!Quelle est la manière la plus simple de lire un fichier en JavaScript?
Répondre
Utiliser jQuery méthode get http://api.jquery.com/jQuery.get/
$.get(url).success(function(data, status, response) {
var text = response.responseText;
// use your one line text stored in text variable here
}
L'url variable peut être relative, de sorte que vous pouvez mettre le nom du fichier texte là. Par exemple, si votre fichier texte est appelé « MyText.txt » et dans le même répertoire du script d'y accéder, vous mettez:
$.get("mytext.txt").success(function(data, status, response) {
var text = response.responseText;
// use your one line text stored in text variable here
}
Notez cette réponse suppose que vous utilisez http pour accéder au fichier texte et les deux scripts et le fichier texte est dans le même domaine.
Cette opération est délicate car, par défaut, la plupart des navigateurs n'autorisent pas JS à ouvrir des fichiers localement à partir du système de fichiers de l'ordinateur. Vous pouvez cependant demander le fichier texte à partir d'un serveur Web en utilisant ajax. Pour ce faire, je recommanderais jQuery car il sera très "universellement valide" comme vous le dites. Lors d'appels ajax, la demande doit respecter la même politique d'origine. En termes simples, si vous êtes sur www.mysite.com, vous pouvez demander www.mysite.com/aTextFile.txt mais vous ne pourrez pas demander www.someothersite.com/aTextFile.txt
Pour cela, jquery, voir la réponse de momo. J'allais taper la même chose mais il me battait dessus.
+1 Excellent point sur la même politique de domaine – momo
La façon la plus simple que je peux penser est d'utiliser un langage côté serveur pour sortir le contenu du document dans la page quelque part (comme un textarea
invisible), et juste avoir lu cela. Pas d'AJAX, pas de bibliothèques, et c'est vraiment rapide.
<textarea id="textarea"><?php include("test.txt") ?></textarea>
<script>
var str = document.getElementById("textarea").value;
</script>
Maintenant, ce n'est pas toujours la meilleure façon, mais par rapport à l'utilisation partout Javascript asynchrone avec des cadres lourds au détriment des performances SEO ...
- 1. Quelle est la manière la plus simple de lire l'audio en arrière-plan dans UWP?
- 2. Quelle est la manière la plus simple et la plus portable d'envoyer un email en elisp?
- 3. Quelle est la manière la plus simple d'animer une ligne?
- 4. Quelle est la manière la plus simple d'inverser une ArrayList?
- 5. Scala: Quelle est la manière la plus simple de #include un fichier
- 6. Quelle est la manière la plus simple de créer un client simple pour MySQL?
- 7. Quelle est la manière la plus simple de mettre en pointillé un widget de toile Tkinter?
- 8. Quelle est la manière la plus simple de forcer Idea à générer le fichier R.Java?
- 9. Quelle est la manière la plus simple de faire 'est' en Java?
- 10. Quelle est la manière la plus simple (ou la bibliothèque la plus simple) de créer une fonction php() vraiment sécurisée?
- 11. WP7: Quelle est la manière la plus simple de jouer un son de système dans XNA?
- 12. Quelle est la manière la plus simple et la plus correcte de calculer l'âge?
- 13. La manière la plus simple d'écrire et de lire date du nom de fichier .net
- 14. Quelle est la manière la plus simple d'ajouter un à une chaîne binaire en Perl?
- 15. Quelle est la manière la plus simple d'afficher un DataTable en tant que TSV?
- 16. Quelle est la manière la plus simple d'animer un chemin en tant qu'objet?
- 17. Quelle est la manière la plus simple de faire des tâches d'arrière-plan dans Windows.Forms?
- 18. Quelle est la manière la plus simple de faire une communication distribuée simple dans .NET?
- 19. Quelle est la manière la plus pythonique?
- 20. Tomcat6: Quelle est la manière la plus simple de configurer java.util.logging?
- 21. Quelle est la manière la plus simple de tracer un arbre de décomposition dans Mathematica?
- 22. Quelle est la fonction javascript la plus simple pour demander un fichier .js?
- 23. Quelle est la manière la plus simple et la plus légère de créer un client-serveur en Perl?
- 24. Quelle est la manière la plus simple d'appeler l'URL HTTP POST en utilisant Delphi?
- 25. Quelle est la manière la plus simple d'obtenir un pointeur sur un périphérique struct sous Linux?
- 26. Quelle est la manière la plus simple de remplacer la valeur par défaut d'une propriété Delphi?
- 27. Quelle est la manière la plus simple de créer un tableau de structures?
- 28. Quelle est la manière la plus simple de formater un .NET DateTime selon YYYYMMDD ou similaire?
- 29. Quelle est la manière la plus simple d'écrire/maintenir un document de spécification?
- 30. Quelle est la manière la plus simple de se connecter à un objet serveur distant .NET
cela fait une différence dont la sécurité bac à sable est la page en cours d'exécution. En supposant que vous l'exécutez dans localhost, vous pouvez utiliser XmlHttpRequest (AJAX), mais si vous utilisez 'file: //', alors il diffère pour chaque navigateur. – zzzzBov
http://stackoverflow.com/a/8137303/363605 – jsweazy