javascript - Hur startar man HTML i Chrome med läget "--allow-file-access-from-files"?


Jag har samma situation med HÄR

Och för att lösa detta problem måste jag starta html-filen med Chrome i "--allow-file-access-from-files"-läge. Jag har försökt följande steg många gånger, men det fungerar inte.

  1. starta cmd under Windows 7
  2. direkt till chrome.exe-mappen
  3. gör detta chrome --allow-file-access-from-files file:///C:/test%20-%203.html

Svar #1

Den flaggan är farlig!! Lämnar ditt filsystem öppet för åtkomst. Dokument som kommer från var som helst, lokalt eller webb, bör som standard inte ha någon åtkomst till lokala file:/// resurser.

En mycket bättre lösning är att köra en liten http-server lokalt.

--- För Windows ---

Det enklaste är att installera http-server globalt med nodes pakethanterare:

npm install -g http-server

Kör sedan helt enkelt http-server i någon av dina projektkataloger:

Eg. 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

Eller som prusswan föreslog, kan du också installera Python under Windows, och följa instruktionerna nedan.

--- För Linux ---

Eftersom Python vanligtvis finns tillgängligt i de flesta Linux-distributioner, kör bara python -m SimpleHTTPServer i din projektkatalog, och du kan ladda din sida på http://localhost:8000

I Python 3 har SimpleHTTPServer-modulen slagits samman med http.server, så det nya kommandot är python3 -m http.server.

Enkelt, och ingen säkerhetsrisk att av misstag lämna din webbläsare öppen och sårbar.

Svar #2

Sök efter sökvägen till din Chrome-exekverbara fil och försök sedan på din cmd:

> "C:\PathTo\Chrome.exe" --allow-file-access-from-files

Källa

REDIGERA : Som jag ser på din fråga, glöm inte att Windows är lite likt Unix, så när du skriver "chrome ...", kommer cmd att söka efter Chrome i PATH, men i allmänhet finns inte Chrome-mappen i PATH. Dessutom specificerar du inte en filändelse för din körbara fil... Så om du flyttar till Chromes mapp, kommer detta kommando förmodligen också att fungera:

> .\chrome.exe --allow-file-access-from-files

Svar #3

Du kanske vill prova Web Server for Chrome, som tillhandahåller webbsidor från en lokal mapp via HTTP. Det är enkelt att använda och skulle undvika flaggan, som, som någon nämnde ovan, kan göra ditt filsystem sårbart.

Svar #4

När detta skrivs, i OS X, kommer det vanligtvis att se ut så här

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files

Om du är en nörd som jag, och lägger dina appar i ~/Applications, då kommer det att vara

"/Users/yougohere/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files

Om ingen av dessa fungerar, skriv då chrome://version i adressfältet i Chrome, och det kommer att tala om för dig vilken "kommandorad"-anrop du ska använda. Lägg bara till --allow-file-access-from-files till det.

Svar #5

Gör inte detta! Du utsätter din maskin för attacker. Kör istället en lokal server. Det är lika enkelt som att öppna ett skal/terminal/kommandorad och skriva

cd path/to/files
python -m SimpleHTTPServer

Sedan pekar du din webbläsare mot

http://localhost:8000

Om du tycker att det är för långsamt, överväg den här lösningen

Relaterade artiklar