摘要: 判断浏览器,动态加载对应浏览器的下载逻辑 通过 universal link、URL Scheme、a 标签、iframe 几种方式找出最适合这个浏览器的唤起方式。 如果下载了 App,就会走打开逻辑,如果没有下载则走下载逻辑。 如果已知不能唤起的浏览器引导其它浏览器打开 通用链接(universa 阅读全文
posted @ 2020-06-23 21:18 刘浩2561179983 阅读(421) 评论(0) 推荐(0) 编辑
摘要: XSS防御 转义字符(正则替换) function escape(str) { str = str.replace(/&/g, '&amp;') str = str.replace(/</g, '&lt;') str = str.replace(/>/g, '&gt;') str = str.rep 阅读全文
posted @ 2020-06-23 21:15 刘浩2561179983 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 转发链接:https://juejin.im/post/5ed73b73e51d4578724e3fa4 前言 前面小编也发布过关于微前端 qiankun的文章: 深入浅出解析阿里成熟的微前端框架 qiankun乾坤源码【图文并茂】 什么是微前端? 我们先来看两个实际的场景: 1. 复用别的的项目页 阅读全文
posted @ 2020-06-23 21:03 刘浩2561179983 阅读(4035) 评论(0) 推荐(0) 编辑
摘要: 前端异常捕获,技术大纲 可疑区域增加 try...catch 全局监控JS异常: window.onerror 全局监控静态资源异常: window.addEventListener 全局捕获没有 catch 的 promise 异常:unhandledrejection iframe 异常:win 阅读全文
posted @ 2020-06-23 21:01 刘浩2561179983 阅读(2804) 评论(0) 推荐(0) 编辑
摘要: JavaScript的执行流,无论是浏览器还是Node.js,都是基于 事件循环 。 理解事件循环能够让我们写出更可靠的高性能代码。 让我们先介绍一下事件循环的原理,然后再来看看实际应用。 事件循环(Event Loop) 事件循环的概念非常简单。它就是一个无止境的循环,JavaScript引擎等待 阅读全文
posted @ 2020-06-23 20:55 刘浩2561179983 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 生成骨架屏的方式主要有: 手写HTML、CSS的方式为目标页定制骨架屏 做法可以参考,主要思路就是使用 vue-server-renderer 这个本来用于服务端渲染的插件,用来把我们写的 .vue文件处理为 HTML,插入到页面模板的挂载点中,完成骨架屏的注入。这种方式不甚文明,如果页面样式改变了 阅读全文
posted @ 2020-06-23 20:53 刘浩2561179983 阅读(581) 评论(0) 推荐(0) 编辑