Bonjour à tous, et merci pour l'aide que j'ai pu recevoir, par le passé, en lisant les réponses des experts de cette communauté sur d'autres postes.
J'aimerai vous demander de l'aide au sujet du chargement de fichiers locaux (sur mon disque dur) dans un fichier java script.
J'ai eu ce problème récemment sur deux projets différents (pas auparavant car pas assez d'expérience, étudiant en licence ...).
- Dans mon premier projet, j'ai un fichier .json, qui contient donc des données json, et je souhaite les charger dans mon fichier javascript pour manipulation.
Code :
- Dans mon second projet, j'ai un fichier image, que je souhaite charger dans mon fichier java script pour la manipuler dans un canvas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 let requestURL = 'json/wikicode_languages.json'; let request = new XMLHttpRequest(); request.open('GET', requestURL, true); request.responseType = 'json'; request.send(); request.onload = function() { let languages = request.response; create_menu(state, languages); }
Et dans les deux cas je me mange un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 pipeBodySprite = loadImage('graphics/pipe_marshmallow_fix.png'); pipePeakSprite = loadImage('graphics/pipe_marshmallow_fix.png'); birdSprite = loadImage('graphics/train.png'); bgImg = loadImage('graphics/background.png');
filename:line Access to XMLHttpRequest at 'file:///...path...' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Ce message est pour le premier projet avec le json, mais pour l'autre c'est pareil sans le XMLHttpRequest.
Comme indiqué dans ce message d'erreur, CORS policy ne fonctionne qu'avec http, data, chrome, chrome-extension, https alors que moi je tente un accès à un fichier locale file:/// donc j'ai une "origin 'null'" donc il est pas content (en gros si j'ai bien compris ?)
Ce que j'ai pu lire en cherchant car ça fait une paire de jours que je cherche, il faut que j'héberge mes fichiers pour les récupérer avec un chemin ressemblant à https://...path...
Le problème c'est que je veux pas. *TETU* Mais j'aimerais bien trouver une solution une vrai,
En fait mes fichier sont bien rangé dans des dossiers propres, eux même dans le même dossier que mon fichier html. Pourquoi dois-je les séparer ?
Le deuxième projet n'est pas de moi je l'ai récupérer sur GitHub de "TheCodingTrain" (chaîne you tube), et ça marche pour lui mais quand je télécharge l'archive et que j'ouvre le html avec chrome : CORS policy bla bla bla ...
Deuxième piste, j'ai vu sur développer.chrome.com ( https://developer.chrome.com/apps/xhr ) qu'on pouvait demander l'accès à chrome en ajoutant
à la section permission du fichier manifeste ... Mais de quoi s'agit-il ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 { "name": "My extension", ... "permissions": [ "https://www.google.com/" ], ... }
Voilà je pense avoir fait le tour. Je pense avoir cherché partout où je pouvait ... Si vous avez, même un piste, un liens, un cours, je suis preneur.
Désolé si ça parait triviale, ça fait trois ans que j'étudie en informatique j'ai toujours trouvé d'habitude mais là je sèche.
Désolé pour le ROMAN j'ai préféré être long et précis que l'inverse.
Merci d'avance pour vos retours,
Respectueusement,
Bouquelou
Partager