
点击“下载”按钮,会把文本域中的内容全部作为一个html后缀文件下载下来,各流程效果如下面几张图:
下载按钮点击示意
出现下载确认框(根据浏览器的设置不同也可能直接下载),然后名称默认就是testhtml。
默认就是testhtml名称
然后对应保存目录就多了个类似下图的文件:
保存好的testhtml文件截图示意
双击该testhtml文件可以在浏览器中正常浏览,说明,保存信息无误。
testhtml在浏览器中访问的效果
触发下载的JS代码就几行:
对于非文本文件,也是可以直接JS触发下载的,例如,如果我们想下载一张,可以把这张转换成base64格式,然后下载。
代码示意:
不止是html文件,txt, json等只要内容是文本的文件,都是可以利用这种小技巧实现下载的。
在Chrome浏览器下,模拟点击创建的<a>元素即使不append到页面中,也是可以触发下载的,但是在Firefox浏览器中却不行,因此,上面的funDownload()方法有一个appendChild和removeChild的处理,就是为了兼容Firefox浏览器。
download属性从Edge13开始支持,理论上,edge也应该支持直接JS触发的浏览器文件下载,但我手头上并无相关浏览器,无法确定真实情况如何,欢迎有条件的小伙伴帮忙测下告知结果。
就这些吧,感谢阅读!
一、参考代码如下:
<!doctype html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="jquery-211minjs"></script>
<!--记得导jquery-->
<script>
$ajax({
type:'get',
url:"demohtml",//这里是url
success:function(body,heads,status){
consolelog(body); //body就是内容了,也就是url网页中的内容
}
});
</script>
</body>
</html>
重点代码说明:
$ajax({type:"POST",//请求方式为post
url:"orderclassphptype=add",//请求的地址
data:dataFormid,//参数
success: function(mag){
//success指的是请求并成功返回信息
//msg是返回的内容
alert(mag);
}
});
举例
//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"
success: function(data){
var json=evel("("+data+")");
alter(jsonmsg);//会d出执行成功的消息框
}
<script type="text/javascript">
var xml>
把你的这个txt文件,改成json文件(js也可以);
你可以做一个测试,将你的json文件和你的调用js文件和你的页面放在一个目录下;然后$getJSON(url, function(data){ // todo }); // 这里的url直接是xxjson
如果你的页面和js文件和json文件不再一个目录,就要将url写成页面相对于json文件的路径。
或者等等不一而足。
以上就是关于JS如何在本地读取json等文件全部的内容,包括:JS如何在本地读取json等文件、javascript 怎么获取指定url网页中的内容、js中除了ajax还有哪些方式可以获取接口返回的json数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)