前言 网页截图导出不是一个非常高频的需求,但时不时的也会遇到。这里总结一下系统的解决方案,然后从中选择合适自己的。 截图导出可以看到是两个功能,第一步实现截图,第二步实现导出也就是下载能力。 截图实现 首先,我们必须明白正常javascript是运行在浏览器里的,本身没有截图的能力。所以
DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,让你可以在用户的访问记录中前进和后退。 从HTML5开始,我们可以开始操作这个历史记录堆栈。 而,可以通过这个特性,来解决当前页面提交POST后,刷新,会提示是否再次提交。 使用如下代码:
Fancybox是图片灯箱插件,lazyload是延迟加载插件。如果两个插件一起使用,由于图片延迟加载,所以在只加载了第一张图片的时候,点击第一张图片,弹出灯箱,在灯箱中切换下一张图片,会获取不到延迟加载的图片,可能会获取到站位图片。 解决方法,为延迟加载的图片,添加data-src 属性,属
TypeScript 是一种由微软开发的自由和开源的编程语言,它是 JavaScript 的一个超集,扩展了 JavaScript 的语法。 TypeScript是为开发大型应用而设计的,并且TypeScript可转译成JavaScript。由于TypeScript是JavaScript的严格
function* 这种声明方式(function关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个 Generator 对象。 function* generator(i) { yield i; yield i + 10; }
众所周知JS是单线程的,这种设计让JS避免了多线程的各种问题,但同时也让JS同一时刻只能执行一个任务,若这个任务执行时间很长的话(如死循环),会导致JS直接卡死,在浏览器中的表现就是页面无响应,用户体验非常之差。 因此,在JS中有两种任务执行模式:同步(Synchronous)和异步(Asyn
1. 介绍 fancyBox 是一个 JavaScript 库,它以优雅的方式展示图片,视频和一些 html 内容。它包含你所期望的一切特性 —— 支持触屏,响应式和高度自定义。 1.1 依赖 推荐 jQuery 3+,但是 fancyBox 仍支持 jQery 1.9.1+ 和 jQuery
来源:https://segmentfault.com/a/1190000017469386 一直想梳理下工作中经常会用到的深拷贝的内容,然而遍览了许多的文章,却发现对深拷贝并没有一个通用的完美实现方式。因为对深拷贝的定义不同,实现时的edge case过多,在深拷贝的时候会出现循环引用等问题,导
corepress主题,在文章中允许显示菜单,如图。 并且点击标题能实现跳转到文章指定的标题位置,同时文章目录菜单的标题会显示当前标题颜色 下面记录一下如何制作的。 枚举标题 通过JQuery,枚举文章内容中的h2标签,并且给标签打上自定义熟属性。 并且,给目录
创建JavaScript的对象,可以通过对象.属性名获取值,也可以通过对象['key']获取内容。 使用对象['key'] ,传入的内容都会被转换为字符串值。 var obj = { a: 'test', b: 'test2' }; obj.a; //test obj['b'];//test2