J'ai la même situation avec ICI
Et pour résoudre ce problème, je dois lancer le fichier html avec Chrome en mode "--allow-file-access-from-files" . J'ai essayé plusieurs fois les étapes suivantes, mais cela ne fonctionne pas.
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
Recherchez le chemin de votre exécutable Chrome, puis, dans votre cmd, essayez:
> "C:\PathTo\Chrome.exe" --allow-file-access-from-files
EDIT: Comme je le vois sur votre question, n'oubliez pas que Windows est un peu similaire à Unix. Ainsi, lorsque vous tapez "chrome ...", cmd recherchera Chrome dans PATH, mais en général, le dossier Chrome n'est pas sur le chemin. De plus, vous ne spécifiez pas d'extension pour votre exécutable ... Donc, si vous passez au dossier de Chrome, cette commande fonctionnera probablement aussi:
> .\chrome.exe --allow-file-access-from-files
Ce drapeau est dangereux !! Laisse votre système de fichiers ouvert pour l'accès. Les documents provenant de n’importe où, local ou Web, ne doivent pas, par défaut, avoir accès aux ressources locales file: ///.
Une meilleure solution consiste à exécuter un petit serveur http localement.
--- Pour les fenêtres ---
Le plus simple consiste à installer le serveur http globalement à l'aide du gestionnaire de paquets du noeud:
npm install -g http-server
Ensuite, exécutez simplement http-server
dans l’un des répertoires de votre projet:
Par exemple. d:\my_project> http-server
Starting up http-server, serving ./
Available on:
http:169.254.116.232:8080
http:192.168.88.1:8080
http:192.168.0.7:8080
http:127.0.0.1:8080
Hit CTRL-C to stop the server
Ou, comme le suggère Prusswan, vous pouvez également installer Python sous Windows et suivre les instructions ci-dessous.
--- Pour Linux ---
Puisque Python est généralement disponible dans la plupart des distributions Linux, exécutez simplement python -m SimpleHTTPServer
dans votre répertoire de projet et vous pourrez charger votre page sur http://localhost:8000
.
Dans Python 3, le module SimpleHTTPServer
a été fusionné dans http.server
. La nouvelle commande est donc python3 -m http.server
.
Facile et sans risque de sécurité de laisser votre navigateur ouvert accidentellement vulnérable.
Au moment d'écrire ces lignes, sous OS X, cela ressemblera généralement à ceci
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
Si vous êtes un monstre comme moi et que vous mettez vos applications dans ~/Applications
, alors ce sera
"/Users/yougohere/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
Si aucun de ceux-ci ne fonctionne, tapez chrome://version
dans votre barre d'adresse Google Chrome et le système vous indiquera quelle invocation "de ligne de commande" vous devriez utiliser. Ajoutez simplement --allow-file-access-from-files
à cela.
Vous souhaiterez peut-être essayer Web Server for Chrome , qui sert les pages Web à partir d'un dossier local via HTTP. C'est simple à utiliser et éviterait le drapeau qui, comme quelqu'un mentionné ci-dessus, pourrait rendre votre système de fichiers vulnérable.
Ne fais pas ça!Vous ouvrez votre machine à des attaques . Au lieu de cela, exécutez un serveur local. C'est aussi simple que d'ouvrir un shell/terminal/ligne de commande et de taper
cd path/to/files
python -m SimpleHTTPServer
Puis en pointant votre navigateur sur
http://localhost:8000
Si vous trouvez que c'est trop lent réfléchissez à cette solution
Si vous utilisez un Mac, vous pouvez utiliser la commande de terminal suivante:
open -a Google\ Chrome --args --allow-file-access-from-files
Quittez (force quit) toutes les instances de chrome. Sinon, la commande ci-dessous ne fonctionnera pas.
open -a "Google Chrome" --args --allow-file-access-from-files
L'exécution de cette commande dans un terminal ouvrira Chrome, quel que soit son emplacement d'installation.
Sur les fenêtres:
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
Sur linux:
google-chrome --allow-file-access-from-files file:///C:/test%20-%203.html