【发布时间】:2017-03-08 22:35:47
【问题描述】:
背景
我最初想为我的应用程序创建文档作为磁盘上的简单本地 html 文件。为了达到这个目的,文档被认为是按如下方式组织的:
doc
├── index.html
└── resources
├── includes
│ ├── part1.html
│ ├── part2.html
│ └── part3.html
└── scripts
├── makedoc.js
└── jquery-3.1.1.min.js
因此,当单击index.html(或通过我的应用程序中的open 命令)时,文档可以简单地在默认网络浏览器中打开。而index.html 只是被认为是一个容器,可以帮助将文档分解成更小的partxx.html 部分:
<!DOCTYPE html>
<html>
<head>
<script src="./resources/scripts/makedoc.js"></script>
<script src="./resources/scripts/jquery-3.1.1.min.js"></script>
<script>$(document).ready(function() { replaceBodyParts(); }</script>
</head>
<body>
<div replaceWith="./resources/includes/part1.html"></div>
<div replaceWith="./resources/includes/part1.html"></div>
<div replaceWith="./resources/includes/part3.html"></div>
</body>
只需使用replaceBodyParts 和jQuery 将div 替换为真实内容+ 自动编号部分等...
问题
在 Firefox(版本 49.0.2)中打开文档时,没有问题,太好了! ... 在 Chrome (version54.0.2840.71 m) 中打开文档时,出现以下错误:
跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource
问题
在阅读了other threads 关于此我清楚地了解从外部域访问本地文件系统的安全问题。我的问题更多的是为什么它在 Firefox 中有效,而在 chrome 中无效(即使是最近的版本):
- 这是否意味着Firefox更聪明地理解
index.html在本地打开,没有跨域问题? - 或者这是否意味着 Firefox 在这一点上不如 Chrome 安全?
注意:我对实例化本地 Web 服务器或更改 chrome 设置等解决方案不感兴趣。这是用户应该能够简单地打开的本地文档(即使它迫使他们使用 firefox 而不是 chrome 来阅读它——或者如果它迫使我放弃拆分文档的想法是小部分——)。
【问题讨论】:
标签: google-chrome firefox cors