Mam taką samą sytuację z TUTAJ
Aby rozwiązać ten problem, muszę uruchomić plik html w przeglądarce Chrome w trybie „--allow-file-access-from-files”. Wiele razy próbowałem wykonać kolejne kroki, ale to nie działa.
- uruchom cmd pod Windows 7
- bezpośrednio do folderu chrome.exe
- Zrób to
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
javascript
html
google-chrome
AmyWuGo
źródło
źródło
file
protokołu.Odpowiedzi:
Wyszukaj ścieżkę do pliku wykonywalnego Chrome, a następnie w cmd spróbuj:
Źródło
EDYCJA: Jak widzę w twoim pytaniu, nie zapominaj, że Windows jest trochę podobny do Uniksa, więc kiedy wpiszesz "chrome ...", cmd wyszuka Chrome w PATH, ale ogólnie folder Chrome nie jest na PATH. Ponadto nie określasz rozszerzenia dla swojego pliku wykonywalnego ... Więc jeśli przejdziesz do folderu Chrome, to polecenie prawdopodobnie też zadziała:
źródło
Start-Process "chrome.exe" "--allow-file-access-from-files"
Ta flaga jest niebezpieczna !! Pozostawia otwarty system plików w celu uzyskania dostępu. Dokumenty pochodzące z dowolnego miejsca, lokalnego lub internetowego, domyślnie nie powinny mieć dostępu do lokalnych zasobów file: ///.
Dużo lepszym rozwiązaniem jest lokalne uruchomienie małego serwera http.
--- Dla Windowsa ---
Najłatwiej jest zainstalować serwer http globalnie za pomocą menedżera pakietów node:
npm install -g http-server
Następnie po prostu uruchom
http-server
w dowolnym katalogu projektu:Na przykład.
d:\my_project> http-server
Lub, jak sugerował prusswan, możesz również zainstalować Pythona pod oknami i postępować zgodnie z poniższymi instrukcjami.
--- W systemie Linux ---
Ponieważ Python jest zwykle dostępny w większości dystrybucji Linuksa, po prostu uruchom go
python -m SimpleHTTPServer
w katalogu projektu i możesz załadować swoją stronę nahttp://localhost:8000
W Pythonie 3
SimpleHTTPServer
moduł został scalony zhttp.server
, więc nowe polecenie topython3 -m http.server
.Łatwe i bez ryzyka przypadkowego pozostawienia otwartej przeglądarki podatnej na zagrożenia.
źródło
--allow-file-access-to-files
opcji wiersza poleceń w przeglądarce Chrome (i Opera). Twoja odpowiedź pozwala mi wiedzieć, że moje pytanie jest błędne z ważnego powodu. Co więcej, napisałeś swoje rozwiązanie w zwięzły i łatwy do zrozumienia sposób. Dzięki miliardowi! Sugerowałbym również, @orszaczky, abyś napisał w zasadzie tę samą odpowiedź na pytanie SO, które było połączone w tym pierwotnym pytaniu, czyli to drugie pytanie . Mógłbym to napisać, ale zasługujesz na uznanie.--allow-file-access-from-files
opcja umożliwiafile://
stronie internetowej dostęp do innychfile://
zasobów, to wszystko. Nie pozostawia otwartego systemu plików.Możesz spróbować Web Server for Chrome , który obsługuje strony internetowe z folderu lokalnego przy użyciu protokołu HTTP. Jest prosty w użyciu i pozwala uniknąć flagi, która, jak ktoś wspomniany powyżej, może narazić system plików na podatność.
źródło
W chwili pisania tego tekstu w systemie OS X zwykle będzie to wyglądać tak
Jeśli jesteś dziwakiem jak ja i umieścisz swoje aplikacje
~/Applications
, to będzieJeśli żadne z nich nie działa, wpisz
chrome://version
w pasku adresu Chrome, a powie Ci, jakiego wywołania z wiersza poleceń powinieneś użyć. Po prostu dodaj--allow-file-access-from-files
do tego.źródło
Nie rób tego! Otwierasz swoją maszynę na ataki . Zamiast tego uruchom serwer lokalny. To tak proste, jak otwarcie powłoki / terminala / wiersza poleceń i wpisanie
Następnie skieruj przeglądarkę na
Jeśli uznasz, że jest za wolny, rozważ to rozwiązanie
źródło
--disable-web-security
, nie--allow-file-access-from-files
, więc nie zadziałają - tylko po to, żeby ludzie wiedzieli. Istnieje ryzyko, ale nie jest blisko tej wielkości.--allow-file-access-from-files
którego. Po co w ogóle ryzykować, skoro metoda zerowego ryzyka jest tak prosta?Jeśli używasz komputera Mac, możesz użyć następującego polecenia terminala:
źródło
Zamknij (wymuś zamknięcie) wszystkie wystąpienia przeglądarki Chrome. W przeciwnym razie poniższe polecenie nie będzie działać.
Wykonanie tego polecenia w terminalu otworzy Chrome niezależnie od tego, gdzie jest zainstalowany.
źródło
W systemie Windows:
W systemie Linux:
źródło
zapisz powyższe wiersze jako plik .bat
źródło
W zależności od pliku, który zostanie umieszczony w systemie plików, o ile plik ten nie jest złośliwym oprogramowaniem, będzie to bezpieczne.
Ale nie przejmuj się zapisywaniem / odczytywaniem plików w katalogu systemu plików, ponieważ możesz zwiększyć bezpieczeństwo tego katalogu (uwzględnić jego dziedziczenie), nadając odpowiednie prawo dostępu i ograniczenie bezpieczeństwa. np: czytaj / zapisuj / modyfikuj.
Domyślnie system plików, pamięć lokalna i katalog przechowywania znajdują się w katalogu „\ Users [Current User] \ AppData \ Local \ Google \ Chrome \ User Data \ Default”.
Możesz go jednak dostosować, używając flagi "--user-data-dir".
A to jest próbka:
Mam nadzieję, że to pomoże każdemu.
źródło
Cóż, można szybko uruchomić kod HTML, który wymaga pozwolenia lub jest blokowany przez CORS Po prostu otwórz folder za pomocą VSCODE i zainstaluj rozszerzenie o nazwie „serwer na żywo”
A potem po prostu kliknij na dole, który mówi o transmisji na żywo, to wszystko. Zrzut ekranu
źródło