利用jszip实现批量文件压缩下载-编程思维

介绍 前端可以通过一个第三方库 jszip,可以把多个文件以blob、base64或纯文本等形式,按自定义的文件结构,压缩成一个zip文件,然后通过浏览器download下来。 官网:stuk.github.io/jszip/ 用法不难,直接看code: // 先封装一个方法,请求返回文件blob async function fetchBlob(fetchUrl, method = "POST

【油猴脚本】百度-原创力-人人-豆丁-道客-豆丁建筑文档下载-编程思维

【油猴脚本】百度-原创力-人人-豆丁-道客-豆丁建筑文档下载 描述 这是一个用于 Tampermonkey 或其他支持用户脚本的浏览器扩展的油猴脚本。 看到论坛经常有小伙伴们需要下载某创力文档-某人文库一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的烦恼而诞生,尽可能做到自动化。 安装 安装 Tampermonkey 浏览器扩展。

关于ios手机date对象的时间格式兼容问题-编程思维

通常后台返回给前端的字符串的时间数据格式是这样的:2019-8-5 12:18:35 , 要计算日期的时候需要把日期转换成时间戳才方便计算。 在安卓 chrome等浏览器,此格式可以直接传入到new Date(date)里,获取对应的日期,然后调用getTime方法,既可以获得相应时间的时间戳,像这样: let date='2019-8-5 12:18:35' let times=new Da

idea里集成uglifyjs实现自动和手动压缩混淆js-编程思维

项目中可能会多次修改某些*.js文件,但是引用的是*.min.js, 所以需要再改完源码后生成压缩的min.js uglifyjs是个不错的工具,但是单独用略显麻烦,如果能整合到idea就好了。正好idea有这个功能。   1. 安装nodejs   https://nodejs.org/dist/v8.9.3/node-v8.9.3-x64.msi       下载后安装即可。 2. 通过no

函数防抖与节流-编程思维

防抖(debounce)和节流(throttle)是在 高频次调用函数 的场景下,常用的解决方案了。故名思意,可以节省开销,优化体验。   二者的区别: 防抖: 我们让想要执行的函数只在最后一次调用完一小段时间后执行对应函数。一连串动作结束后,执行 一次。 节流: 我们让想要执行的函数不管调用多频繁,都隔一小段时间执行一次。一连串动作中,固定 隔一阵子执行一次。   实现的原理其实都还是定时

浅谈一下对于 js 中的 this 的理解-编程思维

浅谈一下对于 js 中的 this 的理解 对于 this 值的定义: 简单来说 this 是一个对象,这个对象具体的值是什么,取决于运行时的环境,即代码执行时的环境。 MDN: 当前执行上下文( global 、 function 或 eval )的一个属性,在非严格模式下,总是指向一个 对象 ,在严格模式下可以是 任意值。 解释: global 是指全局对象,例如浏览器环境下

vuecli 自动转换小文件为 base64 格式,如何关闭?-编程思维

1. 问题 最近在写 vue 项目时,发现稍微小一点的静态资源,例如字体文件, 图片都被自动转换为 base64 格式了。 在网上搜索时基本都是去配置 url-loader ,配置后提示:Can't resolve 'url-loader'。看了依赖文件中并没有 url-loader 这个库。 2.原因 目前最新的 vue-cli 版本是基于 webpack5 的,在 webpack4 的时

web前端性能优化的三个偏方-编程思维

首先牢骚几句。。。这一次性能优化针对的模块,初次开发阶段客户给的时间就非常少,俩月时间跳过设计一边需求分析一边编码,最后干出6000+的代码行。最终结果嘛,呵呵,除开一堆bug不说,性能就是个非常大的问题。这次客户想让我们给它优化了,给的工时仍然是少少少。。。常规方法都备齐之后性能没有太多改善,因为主要问题是出在业务逻辑结构上,在没有时间对整体结构动大手术的前提下,想出了这么几个偏方。偏方一:我

[js]玩转博客园的几个“奇技淫巧”-编程思维

混迹博客园快一个月了,非常喜欢这块技术氛围浓厚的园地,不过在玩转园子的过程中也发现了几个小缺陷,不过好在申请了JS权限之后可以解决大部分的不方便,而在不能植入自定义JS的页面也可以用比较hack的方式来缓解问题。本文就来说一说我这一个月来碰到的几个问题以及解决之道:D 一、判断当前用户 写随笔的过程中可能经常需要对页面进行一下预览,然而编辑器的预览功能没办法带上自定义的CSS和JS,所以通常都得

iife(立即执行函数表达式)-编程思维

IIFE IIFE(立即执行函数表达式)是一种在定义时立即执行的 JavaScript 函数。这种函数形式非常有用,特别是当需要创建一个新的作用域以避免污染全局作用域或需要执行一段代码但不希望这段代码之后再被引用或重用。 (function() { // 函数体 })(); /*或者箭头函数*/ (() => { // 函数体 })(); 解释 函数表达式:IIFE 是一个函数

油猴脚本某创力文档-某人文库免费文档下载-编程思维

描述 这是一个用于 Tampermonkey 或其他支持用户脚本的浏览器扩展的油猴脚本。 看到论坛经常有小伙伴们需要下载某创力文档-某人文库一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的烦恼而诞生,尽可能做到自动化。 安装 安装 Tampermonkey 浏览器扩展。 点击 脚本链接 或手动复制脚本代码。 在 Tampermonk

常用的lodash方法-编程思维

概述: lodash是一套JS工具库,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。 lodash的所有函数都不会在原有的数据上进行操作,而是复制出一个新的数据而不改变原有数据。类似immutable.js的理念去处理。 官方中文地址   安装: 浏览器环境: <script src="lodash.js"></script> 通过 npm: $ np

vue 响应性-编程思维

一、响应性原理  数据模型 是被代理的 JavaScript 对象。而当你修改它们时,视图会进行更新。这让状态管理非常简单直观。 理解其工作原理同样重要,这样可以避开一些常见的问题。 1 什么是响应性? 响应性是 一种允许我们以声明式的方式去适应变化的一种编程范例。如excell。 js如何实现响应性 检测其中某一个值是否发生变化 用跟踪 (track) 函数修改值 用触发 (trigger)

vue 之 mixins (混入)-编程思维

Mixins是一种分发Vue组件中可复用功能的非常灵活的一种方式。 什么时候使用Mixins  1. 页面的风格不用,但是执行的方法和需要的数据类似,我们是选择每个都写呢还是提取出公共部分呢?   基础实例 我们有一对不同的组件,它们的作用是切换一个状态布尔值,一个模态框和一个提示框。这些提示框和模态框除了在功能上,没有其他共同点:它们看起来不一样,用法不一样,但是逻辑一样。 // 模态框 c

vue 中slot-编程思维

插槽使用场景   - 该组件被多个地方使用 - 每个父组件中对该组件的内部有一部分需要特殊定制 - slot可以让我们更好的复用组件的同时并对其定制化处理 - 可以理解为父组件想子组件传递了一段 html 文本 要求: 1.子组件模板包含至少一个 插槽 <slot></slot> 2.父组件整个内容片段将插入到 slot 所在的 DOM 位置,并替换掉 s

前端vue-编程思维

1、    export和export default的区别 export default xxx import xxx from './' export xxx import {xxx} from './' 在一个文件或模块中,export、import可以有多个,export default仅有一个通过export方式导出,在导入时要加{ },export default则不需要