摘要: 场景: 有时候上完线,用户还停留在老的页面,用户不知道网页重新部署了,跳转页面的时候有时候js连接hash变了导致报错跳不过去,并且用户体验不到新功能。 设置一个全局路由,在路由跳转的时候获取当前版本号和旧版本号进行对比,如果不一样,就通知客户进行刷新页面 // version.js,与packag 阅读全文
posted @ 2023-01-31 21:38 JSKevin 阅读(1070) 评论(0) 推荐(0) 编辑
摘要: 1.vue2路由监听 watch: { $route: function (to, from) { //事件处理 } } 2.vue3路由监听 watch( () => Router.currentRoute.value.path, () => { // 处理事件 } ); 3.setup setu 阅读全文
posted @ 2022-12-16 14:31 JSKevin 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Proxy 也就是代理,可以帮助我们完成很多事情,例如对数据的处理,对构造函数的处理,对数据的验证,说白了,就是在我们访问对象前添加了一层拦截,可以过滤很多操作,而这些过滤,由你来定义。 语法 let p = new Proxy(target, handler); 参数 target :需要使用Pr 阅读全文
posted @ 2021-03-11 14:06 JSKevin 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 之前领导要求就打通webView、小程序和iframs三者之间的通讯做一份技术文档说明,功能是做出来了,结果后面没有接到那个项目,也就没有继续开发下去,但也值得记录一下。 项目目标 实现webView和小程序通讯,webView和iframe通讯,而后以webView作为中转站,实现webView中 阅读全文
posted @ 2021-03-11 13:41 JSKevin 阅读(2851) 评论(0) 推荐(0) 编辑
摘要: import request from 'utils/request'; import config from 'config/Config' /** * 文件上传 * @param {*} url 获取签名url * @param {*} file 上传文件 * @param {*} callba 阅读全文
posted @ 2021-03-09 16:28 JSKevin 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 使用场景 如果你在组件间传递的数据逻辑比较复杂,可以使用redux; 如果组件层级不多,可以使用props; 如果层级较深,数据逻辑简单,可以使用context或者发布-订阅模式。 在 React 16.3 之前,Context API 由于存在种种局限性,并不被 React 官方提倡使用,开发者更 阅读全文
posted @ 2020-05-29 17:35 JSKevin 阅读(2110) 评论(0) 推荐(0) 编辑
摘要: 1.XSS攻击 -- 转义标签 -- script、img、a2.CSRF -- 正确使用post、get方法,携带验证码或者token,验证referer3.网络劫持攻击4. 控制台注入代码5.钓鱼 浅谈XSS攻击的那些事(附常用绕过姿势) [聊一聊系列]聊一聊WEB前端安全那些事儿 阅读全文
posted @ 2019-11-12 11:23 JSKevin 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 70个JavaScript面试题集锦,内含解答,自测 JS 掌握程度 比上面的多5道 面试题101道 你不知道的 JSON.stringify() 的威力 1. ['1', '2', '3'].map(parseInt)输出结果 ['1', '2', '3'].map(parseInt); // [ 阅读全文
posted @ 2019-09-17 17:28 JSKevin 阅读(267) 评论(0) 推荐(0) 编辑
摘要: H5页面视频播放的问题相信曾经让很多同学崩溃,video标签的层级问题始终无法得到完美的解决方案。 在阿微同学的帮助下,已经比较好的解决了这个问题,为了方便以后查看,在这里记录一下。 1.拿到视频的第一帧图片作为视频替代物,自己再搞个播放按钮就行了(代码中,只是简单的写了个div,根据自己的需求修改 阅读全文
posted @ 2019-09-12 15:04 JSKevin 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 深入浅出Object.defineProperty() 如果你想禁止一个对象添加新属性并且保留已有属性,就可以使用Object.preventExtensions(...) 密封 Object.seal()会创建一个密封的对象,这个方法实际上会在一个现有对象上调用object.preventExte 阅读全文
posted @ 2019-09-05 15:21 JSKevin 阅读(266) 评论(0) 推荐(0) 编辑