Javascript 如何使用Chrome启动html--允许从文件访问文件”;模式
我和你有同样的情况 为了解决这个问题,我必须在“允许从文件访问文件”模式下使用Chrome启动html文件。 我尝试了很多次下一步,但都不起作用Javascript 如何使用Chrome启动html--允许从文件访问文件”;模式,javascript,html,google-chrome,Javascript,Html,Google Chrome,我和你有同样的情况 为了解决这个问题,我必须在“允许从文件访问文件”模式下使用Chrome启动html文件。 我尝试了很多次下一步,但都不起作用 在Windows7下启动cmd 直接转到chrome.exe文件夹 执行此操作chrome--允许从文件访问文件file:///C:/test%20-%203.html 搜索Chrome可执行文件的路径,然后在cmd上尝试: > "C:\PathTo\Chrome.exe" --allow-file-access-from-files 编辑:
chrome--允许从文件访问文件file:///C:/test%20-%203.html
搜索Chrome可执行文件的路径,然后在cmd上尝试:
> "C:\PathTo\Chrome.exe" --allow-file-access-from-files
编辑:
正如我在你的问题上看到的,不要忘记Windows有点类似于Unix,所以当你键入“chrome…”时,cmd将在路径中搜索chrome,但通常chrome文件夹不在路径上。另外,您没有为可执行文件指定扩展名。。。因此,如果您移动到Chrome的文件夹,此命令可能也会起作用:
> .\chrome.exe --allow-file-access-from-files
不要这样做。而是运行本地服务器。这就像打开shell/terminal/commandline并键入命令一样简单
cd path/to/files
python -m SimpleHTTPServer
然后将浏览器指向
http://localhost:8000
如果您在撰写本文时发现它太慢,在OSX中,它通常是这样的
"/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地址栏中,它会告诉您应该使用什么“命令行”调用。只需添加——允许从文件访问文件。该标志很危险使文件系统保持打开状态以供访问。默认情况下,来自任何地方(本地或web)的文档都不能访问本地文件:///资源
更好的解决方案是在本地运行一个小型http服务器
---适用于Windows---
最简单的方法是使用节点的包管理器全局安装http服务器:
npm安装-ghttp服务器
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
然后只需在任何项目目录中运行http服务器
:
例如d:\my\u project>http服务器
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
或者正如普鲁斯旺所建议的,您也可以在windows下安装Python,并按照下面的说明进行操作
---对于Linux---
由于Python通常在大多数linux发行版中都可用,只需在项目目录中运行Python-msimplehttpserver
,就可以在http://localhost:8000
在python3中,SimpleHTTPServer
模块已合并到http.server
,因此新命令是python3-mhttp.server
简单,并且没有意外使浏览器打开时易受攻击的安全风险。如果您使用的是mac,则可以使用以下终端命令:
open -a Google\ Chrome --args --allow-file-access-from-files
退出(强制退出)所有chrome实例。否则,下面的命令将不起作用
open -a "Google Chrome" --args --allow-file-access-from-files
在终端中执行此命令将打开Chrome,无论它安装在何处。您可能想试试,它使用HTTP从本地文件夹为网页提供服务。它使用起来很简单,并且可以避免使用标志,正如上面提到的,标志可能会使您的文件系统易受攻击
在windows上:
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
将以上行另存为.bat文件,具体取决于要放入文件系统的文件,只要该文件不是恶意软件,那么就安全了
但不要担心将文件写入/读取到文件系统目录,因为您可以通过提供适当的访问权限和安全限制来加强目录安全性(包括其继承性)。例如:读/写/修改
默认情况下,文件系统、本地存储和存储目录位于“\Users[当前用户]\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打开文件夹并安装名为“live server”的扩展
然后点击底部,上面写着“上线”,就这样。
我重新启动了电脑,并按照你说的做了,看起来很好。谢谢。根据Philippe的评论,您需要退出所有chrome进程并使用命令行选项重新启动。(Windows 7)如果重新启动Chrome后它不工作,请检查正在运行的后台进程(时钟附近的Chrome图标)。您可能启用了“让Google Chrome在后台运行”选项。@Abdul是的,完全正确,除非您使用该标志创建一个快捷方式并从中启动Chrome。Windows PowerShell中的Star Chrome:启动进程“Chrome.exe”-允许从文件访问文件“
您也可以使用Chrome插件进行此操作。我觉得这是最实用的方法。这只是一个例子:@RobertParcus如果您使用文件
协议,那么该插件似乎不起作用。这仍然是一个问题吗?我认为参数不再存在…这应该是公认的答案!我来这里是想找到一种正确的方法来使用Chrome(和Opera)的——允许文件访问文件命令行选项。你的回答让我知道我的问题是错误的,原因很重要。最重要的是,您已经以一种简洁、易于理解的方式编写了解决方案。非常感谢!我还建议,@orszaczky,你为这个原始问题中的SO问题写下基本相同的答案,即。我可以写,但你值得表扬。这可能确实是一个很好的建议,但事实上并不是问题的答案。问题不是“在chrome中访问本地文件的最佳方式是什么”,而是“如何使用此标志启动”。如果你意识到了风险,没有打开任何你没有创建的内容,或者你甚至没有在线。。很好。这是有用的原因。。我想这就是谷歌之所以这么做的原因