Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 是否有关于浏览器做什么和不做什么的全面文档';不允许文件:方案URI?_Javascript_Css_Browser_File Uri - Fatal编程技术网

Javascript 是否有关于浏览器做什么和不做什么的全面文档';不允许文件:方案URI?

Javascript 是否有关于浏览器做什么和不做什么的全面文档';不允许文件:方案URI?,javascript,css,browser,file-uri,Javascript,Css,Browser,File Uri,如果可以避免,大多数人不会使用文件:URI,因为关于什么是允许的,什么是不允许的,有很多奇怪的规则,但有时这并不取决于你,你只需要支持从文件:URI加载HTML文件或应用程序 在这些时候,是否有关于浏览器允许和不允许file:uri的全面和最新的文档或指南?有很多信息,但都是零碎的。例如,解释了不能在Chrome中的文件:URI上加载ES模块,但可以在Firefox中加载。但是fetch()、WASM或其他现代web技术呢?也许它们不在文件:上工作,但确实支持数据:,如果您可以用正确的MIME类

如果可以避免,大多数人不会使用
文件:
URI,因为关于什么是允许的,什么是不允许的,有很多奇怪的规则,但有时这并不取决于你,你只需要支持从
文件:
URI加载HTML文件或应用程序

在这些时候,是否有关于浏览器允许和不允许
file:
uri的全面和最新的文档或指南?有很多信息,但都是零碎的。例如,解释了不能在Chrome中的
文件:
URI上加载ES模块,但可以在Firefox中加载。但是
fetch()
、WASM或其他现代web技术呢?也许它们不在
文件:
上工作,但确实支持
数据:
,如果您可以用正确的MIME类型构造一个


如果有一个指南列出了在所有浏览器中一致运行的方法,那么当您需要支持从本地
文件运行web应用程序时,这将非常有用,这样,如果您坚持使用这些技术,您的应用程序将能够工作。有人知道这样的事吗?我曾尝试搜索web和MDN,但没有找到任何内容,但这可能是因为大多数搜索引擎似乎忽略了
文件中的冒号:

这里我发现了一个有趣的问题。他们基本上说:

Cr允许从文件//uri服务的HTML页面加载来自同一路径的图像和脚本,但是遗留边缘(V18)和Internet Explorer是唯一考虑所有本地PC文件://URI相同的浏览器,允许这样的页面引用本地计算机上的其他HTML资源。其他浏览器将文件源视为唯一的,阻止来自不同本地文件的帧之间的DOM交互等

基于此或:

它是UA特有的“留给读者作为练习”

用于:

文件://schemed URI不包含主机组件;请确保您的UI考虑了这种可能性

用于:

文件:主机特定的文件名

所以基本上,这是一个混乱,因为他们必须面对安全问题

其他资源:


我的建议是,
file://
scheme对于静态页面很有用,可能需要一点javascript,但肯定没有AJAX-其他的,不要使用它。你可以用它做很多事情,特别是如果你可以在html文件本身内联包含所有内容的话。如果你必须参考其他文件,事情就会崩溃。您可以加载任何JS文件、引用CSS和图像(但不能以blob的形式获取它们的实际内容),但许多更新的东西似乎需要适当的MIME类型。也许
文件:
十年前的网络技术会让你陷入困境,但如果你能确认以后的任何东西都能可靠地使用,那就太好了。