我和这里有同样的情况
为了解决这个问题,我必须在“--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
module已合并到 中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
。
不要这样做! 你正在打开你的机器进行攻击。而是运行本地服务器。就像打开外壳/终端/命令行并输入一样简单
cd path/to/files
python -m SimpleHTTPServer
然后将浏览器指向
http://localhost:8000
如果您发现它太慢,请考虑此解决方案