比如有一个 index.html
文件,其中有一段代码是 fetch('data.json')
加载同目录的 data.json
文件;
chrome 直接打开这个 index.html
(不使用 nginx 或其它 http server ),会加载失败:
Fetch API cannot load file:/// URL scheme must be "http" or "https" for CORS
改成 XMLHttpRequest
方式加载也是类似的错误;
还有什么办法可以加载本地文件吗,客户不想部署 http server,希望在本地直接打开页面展示数据结果
1
johnnyNg 2020-09-03 10:03:00 +08:00
把 data.json 改成 data.js 吧,引入 js 文件
|
3
pinews 2020-09-03 10:09:40 +08:00
html 可以默认加载图片和视频,可以运行 js 文件
其他文件都必须用户亲自操作(即用户许可)才能运行。 |
7
Sapp 2020-09-03 10:20:23 +08:00
chrome 要是给你这个权限怎么保证安全? 这明显是不可能给你的权限啊,不然你瞎读客户文件上传。
要么你让用户自己选择文件加载,然后你读取他选择的文件,要么 electron,什么权限都能自己搞。 |
10
phy25 2020-09-03 11:25:36 +08:00 via Android
|
11
isDebug 2020-09-03 11:26:19 +08:00
你这是 mock 吗 直接用 js import 吧
|
12
imn1 2020-09-03 12:12:22 +08:00
本地的话也没必要 ajax,写入 html 文件里面就行了
或者自己写个程序,内置 webkit,如 pyqt 做这个就几行代码而已 |
13
miaowm5 2020-09-03 18:05:15 +08:00
如果客户不想部署 http server 只是因为嫌麻烦,那直接写一个单文件无配置的静态文件服务器呢?
比如我自己是偷偷往目录里扔了个 node.exe ,然后说不需要部署只需要运行一个 bat 就行,那个 bat 里实际上是调用 node.exe 在当前目录起了个静态服务器然后打开了 chrome…… |