问题场景 在前端很多的项目中,文件下载的需求很常见.尤其是通过JS生成文件内容,然后通过浏览器端执行下载的操作.如图片,Execl 等的导出功能.日前,项目中就遇到了这类需求,在浏览器端实现保存当前网页为图片,然后还可以下载. 解决方案 网页生成图片 这里可以采用 html2canvas 来实现.并且可以兼容大部分主流的浏览器. Firefox 3.5+ Google Chrome Opera 12+ IE9+ Safari 6+ 文件下载 第一种方案 HTML5 新增了 download 属性…
前端很多项目中,都有文件下载的需求,特别是JS生成文件内容,然后让浏览器执行下载操作(例如在线图片编辑.在线代码编辑.iPresst等). 但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打开->另存为.如下面这个链接: <a href=”file.js”>file.js</a> 用户点击这个链接的时候,浏览器会打开并显示链接指向的文件内容,显然,这并没有实现我们的需求. HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在…
Node的便民技巧-- 压缩代码 下载图片 压缩代码 相信很多前端的同学都会在上线前压缩JS代码,现在的Gulp Webpack Grunt......都能轻松实现.但问题来了,这些都不会,难道就要面对几十个JS文件一遍遍来回“复制-压缩-创建-粘贴”,这样太不人性化了. 于是可以借助Node + uglify-js 轻松实现.(前提你会点node操作) 1.首先看一下目录: |--uglifyJS |--js |--test1.js |--test2.js |--uglify.js   //这…
js: 1 $(document).on('click',"#xiazai",function(){ 2 imgurl = $(".img-box").find('img').attr('src'); 3 window.open('/index/download.html?dir='+imgurl); 4 }); 服务端 1 public function actionDownload($dir,$name){ 2 header('Pragma: public');…
图片网站往往广告众多,用Node.js写个爬虫下载图片,代码不长,省事不少,比手动一张张保存简直是天与地的区别.以前用Java也做过远程图片下载,但Node.js的下载速度更让人咂舌,这也是非阻塞式变成的好处. 下面代码是一个从mtl.ttsqgs.com下载图片的程序,图片地址是看网站源码看出来的,总共有多少张也可以在网页或源码里找到,然后就是顺藤摸瓜.爬虫无外乎找规律再写代码实现的套路. // 内置http模块,提供了http服务器和客户端功能 var http=require("http&…
长期以来,在做文件下载功能的时候都是前端通过ajax把需要生成的文件的内容参数传递给后端,后端通过Java语言将文件生成在服务器,然后返回一个文件下载的连接地址url.前端通过location.href = url或者window.open(url),完成文件的下载. 前端似乎在这个过程中没有产生什么较大的作用,无非是发送请求和打开页面的作用.以前就在寻找这样的文件下载方式,今天终于在业务需要的压力下找到了对应的解决方案. HTML与文件下载 如果希望在前端直接出发某些资源的下载,最方便快捷的方…
IndexedDB具有以下特点. (1)键值对储存. IndexedDB内部采用对象仓库(object store)存放数据.所有类型的数据都可以直接存入,包括JavaScript对象.在对象仓库中,数据以“键值对”的形式保存,每一个数据都有对应的键名,键名是独一无二的,不能有重复,否则会抛出一个错误. (2)异步. IndexedDB操作时不会锁死浏览器,用户依然可以进行其他操作,这与localStorage形成对比,后者的操作是同步的.异步设计是为了防止大量数据的读写,拖慢网页的表现. (3…
JS神经网络deeplearn.js:浏览器端机器智能框架 通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型. deeplearn.js 以 TypeScript 作为首选语言,提供了可用于构建可微数据流图的 API,以及一系列可以直接使用的数学函数.该库有两个 API 模型,一个是即时执行模型(可认为是 NumPy),另一个是基于 TensorFlow 的 API 镜像的延时执行模型.该库还支持从 TensorFlow 检查点将权重转储为可以导入…
浏览器端JS导出EXCEL FileSaver.js 实现了在本身不支持 HTML5 W3C saveAs() FileSaver 接口的浏览器支持文件保存.FileSaver.js 在客户端保存文件的解决方案,并且可以让 Web 应用完美的生成文件, 或者保存不应该发送到外部服务器的一些敏感信息.是一种简单易用实现的利用 JavaScript/JS 在浏览器端保存文件的方案. 实现浏览器端生成并保存文件的 JavaScript 库 FileSaver.js 使用说明: 一.引入 JavaScr…
Node.js又称服务端JavaScript.今天我为了解决一个问题,通过搜索引擎找到了如何将Node.js转成浏览器端可以运行的javascript.尽管这种方式有其局限性,但是还是可以用的. 1.安装库 npm install -g browserify 2.转换 browserify test.js > index.js 或 browserify test > index.js 或 browserify test.js -o index.js 以上三种方式均可行 参考资料:如何让node…