JS如何在本地读取json等文件

 我来答
l7722526
2018-10-23 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3649万
展开全部

点击“下载”按钮,会把文本域中的内容全部作为一个.html后缀文件下载下来,各流程效果如下面几张图:

下载按钮点击示意

出现下载确认框(根据浏览器的设置不同也可能直接下载),然后名称默认就是test.html。

默认就是test.html名称

然后对应保存目录就多了个类似下图的文件:

保存好的test.html文件截图示意

双击该test.html文件可以在浏览器中正常浏览,说明,保存信息无误。

test.html在浏览器中访问的效果

触发下载的JS代码就几行:

对于非文本文件,也是可以直接JS触发下载的,例如,如果我们想下载一张图片,可以把这张图片转换成base64格式,然后下载。

代码示意:

不止是.html文件,.txt, .json等只要内容是文本的文件,都是可以利用这种小技巧实现下载的。

在Chrome浏览器下,模拟点击创建的<a>元素即使不append到页面中,也是可以触发下载的,但是在Firefox浏览器中却不行,因此,上面的funDownload()方法有一个appendChild和removeChild的处理,就是为了兼容Firefox浏览器。

download属性从Edge13开始支持,理论上,edge也应该支持直接JS触发的浏览器文件下载,但我手头上并无相关浏览器,无法确定真实情况如何,欢迎有条件的小伙伴帮忙测下告知结果。

就这些吧,感谢阅读!

匿名用户
2019-11-14
展开全部

目前常用的方法如下,一是google 浏览器图标加配置参数,允许跨域访问本地资源

二是使用jsonp,使用jsonp解决跨域 :(仅适用于GET请求);

三是本地搭建apache,iis 等服务器,然后做代理跳转
四用H5的fileReader API接口


使用详情请见下面链接
网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式