我和这里有同样的情况
为了解决这个问题,我必须在“--allow-file-access-from-files”模式下使用 Chrome 启动 html 文件。我尝试了很多次后续步骤,但它不起作用。
- windows 7下启动cmd
- 直接到 chrome.exe 文件夹
- 做这个
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
我和这里有同样的情况
为了解决这个问题,我必须在“--allow-file-access-from-files”模式下使用 Chrome 启动 html 文件。我尝试了很多次后续步骤,但它不起作用。
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
那面旗帜很危险!!使您的文件系统保持打开状态以供访问。默认情况下,来自任何地方(本地或 Web)的文档不应具有对本地 file:/// 资源的任何访问权限。
更好的解决方案是在本地运行一个小型 http 服务器。
--- 对于 Windows ---
最简单的方法是使用 node 的包管理器全局安装 http-server:
npm install -g http-server
然后只需http-server
在您的任何项目目录中运行:
例如。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
或者按照 prusswan 的建议,您也可以在 windows 下安装 Python,并按照以下说明进行操作。
--- 对于 Linux ---
由于 Python 通常在大多数 linux 发行版中都可用,只需python -m SimpleHTTPServer
在您的项目目录中运行,您就可以在http://localhost:8000
在 Python 3 中,该SimpleHTTPServer
模块已合并到http.server
中,因此新命令为python3 -m http.server
.
简单,并且没有意外让您的浏览器易受攻击的安全风险。
搜索您的 Chrome 可执行文件的路径,然后在您的 cmd 上尝试:
> "C:\PathTo\Chrome.exe" --allow-file-access-from-files
编辑: 正如我在你的问题上看到的,不要忘记 Windows 有点类似于 Unix,所以当你输入“chrome ...”时,cmd 将在 PATH 中搜索 Chrome,但一般来说 Chrome 文件夹是不在 PATH 上。此外,您没有为可执行文件指定扩展名......因此,如果您移动到 Chrome 的文件夹,此命令也可能会起作用:
> .\chrome.exe --allow-file-access-from-files
您可能想尝试Web Server for Chrome,它使用 HTTP 从本地文件夹提供网页。它使用起来很简单,并且可以避免使用该标志,正如上面提到的那样,它可能会使您的文件系统易受攻击。
在撰写本文时,在 OS X 中,它通常看起来像这样
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
如果你像我一样是个怪胎,把你的应用程序放进去~/Applications
,那么它会是
"/Users/yougohere/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files
如果这些都不起作用,请输入chrome://version
您的 Chrome 地址栏,它会告诉您应该使用什么“命令行”调用。只需添加--allow-file-access-from-files
即可。
如果您使用的是 mac,则可以使用以下终端命令:
open -a Google\ Chrome --args --allow-file-access-from-files
REM Kill all existing instance of chrome
taskkill /F /IM chrome.exe /T
REM directory path where chrome.exe is located
set chromeLocation="C:\Program Files (x86)\Google\Chrome\Application"
cd %chromeLocation%
cd c:
start chrome.exe --allow-file-access-from-files
将以上行另存为.bat文件
退出(强制退出)所有 chrome 实例。否则下面的命令将不起作用。
open -a "Google Chrome" --args --allow-file-access-from-files
无论 Chrome 安装在哪里,在终端中执行此命令都会打开它。
根据将被放入文件系统的文件,只要该文件不是恶意软件,那将是安全的。
但是不要担心将文件写入/读取文件系统目录,因为您可以通过提供适当的访问权限和安全限制来加强该目录的安全性(包括它的继承)。例如:读/写/修改。
默认情况下,文件系统、本地存储和存储目录位于“\Users[Current User]\AppData\Local\Google\Chrome\User Data\Default”目录中。
但是,您可以使用“--user-data-dir”标志对其进行自定义。
这是一个示例:
"C:\Program Files (x86)\Google\Application\chrome.exe" --user-data-dir="C:\Chrome_Data\OO7" --allow-file-access-from-files
希望这对任何人都有帮助。
好吧,可以快速运行需要许可或被 CORS 阻止的 html 只需使用 VSCODE 打开文件夹并安装一个名为“实时服务器”的扩展程序
然后只需点击底部的“上线”,就是这样。 截屏
在窗户上:
chrome --allow-file-access-from-files file:///C:/test%20-%203.html
在 Linux 上:
google-chrome --allow-file-access-from-files file:///C:/test%20-%203.html