Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Chrome启动html--允许从文件访问文件”;模式_Javascript_Html_Google Chrome - Fatal编程技术网

Javascript 如何使用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启动html文件。 我尝试了很多次下一步,但都不起作用

  • 在Windows7下启动cmd
  • 直接转到chrome.exe文件夹
  • 执行此操作
    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中访问本地文件的最佳方式是什么”,而是“如何使用此标志启动”。如果你意识到了风险,没有打开任何你没有创建的内容,或者你甚至没有在线。。很好。这是有用的原因。。我想这就是谷歌之所以这么做的原因