自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (1)
  • 收藏
  • 关注

原创 实现搜索聊天记录后,点击查看上下文,跳转到对应信息位置

前言在微信聊天记录搜索时,会有查看上下文,点击后,跳到对应的消息位置1. 实现可采用scrollIntoView()方法进行锚点跳转2. 介绍scrollIntoView属性scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。PS:根据其他元素的布局,元素可能无法完全滚动到顶部或底部。Tips:页面(容器)可滚动时才有用!语法element.scrollIntoView(); // 等同于element.scrollIntoView(true)elemen

2022-01-15 18:21:44 1267 1

原创 实现消息存档—微信聊天记录组件

前言近期在处理业务时,涉及到了微信聊天记录消息存档的场景;接下来分析分析,实现微信聊天记录组件时,所需要注意的几点地方;1. 分析原生微信聊天窗口聊天窗口可分为PC端跟移动端,先看看PC端:实现此聊天窗口,需要注意两点就是:每次进入新的聊天窗口时,页面都是至于最底部,以保证查看到最新消息;加载下一页数据时,将请求到的数据放到原数组前面,这时候vue会自动重新渲染页面,页面会回到顶部,这并不是我要的效果;我们想要的是,查看更多时,此时历史的消息会添加到顶部去,此时滚动条还是在原来位置,以保证当

2022-01-15 18:02:24 1081 1

原创 企业微信 - 封装JS-SDK使用方法

前言企业微信JS-SDK是企业微信面向网页开发者提供的基于企业微信内的网页开发工具包。 – 企业微信开发文档所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),且可信域名必须有ICP备案且在管理端验证域名归属。步骤一:引入js文件在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.

2022-01-15 16:07:27 2377 1

原创 http协议中的缓存

前言我们常说的缓存,基本可分为两类:客户端缓存服务器缓存由于服务器缓存跟http协议也没啥关系,它是需要一些服务器技术的支持(比如 redis等),所以这里就不涉及了。其实它大致的原理就是,比如客户端来了个请求,那么服务器就需要从数据库中读取数据,这样频繁的操作数据库, 就会造成效率上的问题,并且磁盘的读取速度是比较慢的;所以为了解决类似的问题,就可以使用服务器缓存,也就是将经常需要使用的数据保存起来,比如保存到内存中,以便后续使用。今天就探讨探讨客服端缓存;客户端缓存跟http协议就有很大关

2021-07-15 23:54:33 578 2

原创 Node.js中验证码的实现与应用

前言验证码在各大网站中随处可见,它实际的作用就是为了防止机器提交,从而提高安全性。验证码的类型可以分为三类:普通验证码,行为验证码以及短信验证码。普通验证码是比较早出现的,比如一张模糊的图片,里面由数字或者字母组成,通过用户输入的值进行比对。而随着技术的发展,现在更多的则是行为验证码和短信验证码,行为验证码比如拖动一个滑动以拼成一个完整的图片,或者是把一个角度错误的图片旋转成正确的角度等。而短信验证码,则是给本人手机号码以短信的方式发送验证码。在这几种类型的验证码中,行为验证码实现起来的话,相对繁琐,虽然

2021-07-14 16:14:21 1533 6

原创 实现在Node环境与浏览器环境下生成二维码

前言二维码在我们生活中随处可见,目前也有很多第三方平台可一键生成二维码,也有很多的第三方库支持生成二维码。今天咱们就在Node环境下与浏览器环境下,实现一下二维码的生成。一、Node环境目前已经有许多第三方库可支持二维码的生成,今天用的是我比较喜欢的一个第三方库node-qrcode;1. 安装npm install --save qrcode//或者全局安装,都可以npm install -g qrcode2. 使用生成文件安装完成之后,就可以开始使用啦。首先我们先来生成一张图

2021-07-13 17:37:22 1572 2

原创 什么?点了下按钮,就被攻击了...

前言不知你是否遇到过,或者听到过,当在访问某网站时,点击了某个按钮操作之后,却无意间就关注了某某某,或者订阅了某某咨询等事件。没错,这类事件的发生,就是今天的主角 “点击劫持”。一、什么是点击劫持?点击劫持,英文为clickjacking,也被称为UI覆盖攻击。从字面上的意思,我们可以理解到,它是通过在某些结构上覆盖一些不可见的恶意内容,从而诱导受害者点击,以此达到攻击的目的。虽然受害者点击的是他自己所看到的页面,实际上他所点击的是攻击者精心设计好的一个覆盖在原网页上的透明页面。这类型的攻击常常是利

2021-07-11 15:25:33 179 2

原创 CSRF同学的那些事~

前言上回聊了XSS同学,今天来聊聊CSRF同学~相比起XSS,貌似CSRF并不常听到,但其实CSRF一样具有严重的破坏性。一、什么是CSRF攻击CSRF攻击,英文全称是Cross—Site Request Forgery,其意思就是跨站请求伪造,跟XSS一样,存在巨大的危害性。它的本质就是:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。一个典型的CSRF攻击有如下

2021-07-10 16:52:11 146 2

原创 XSS同学的那些事~

前言谈到前端安全,大家都会想到XSS,CSRF,SQL注入等攻击。今天咱们来聊聊XSS攻击!一、什么是XSS攻击XSS攻击,英文全称是Cross Site Scripting,翻译过来的意思就是跨站脚本攻击。它的缩写是CSS,由于跟咱们平时写的层叠样式表CSS混淆,所以也就简称为了XSS。所谓 “跨站脚本攻击”,也就是一种利用恶意的脚本来进行攻击的方式。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行,从而达到攻击的目的。XSS的本质就是:攻击者的恶意代码未经过滤,与正常的代码混在一

2021-07-08 17:17:43 156 2

原创 JavaScript字符串去重

整理了以下6种JS字符串去重方法,仅供参考。利用indexOffunction unique(str) { let newStr = ""; for (let i = 0; i < str.length; i++) { if (newStr.indexOf(str[i]) === -1) { newStr += str[i]; } } return newStr;}利用ES6的Set方法func

2021-01-18 14:07:57 3523 4

原创 JavaScript数组去重

整理了以下6种JS数组去重方法,仅供参考。利用ES6中的Set结构方法去重(ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构)function unique(arr) { return [...new Set(arr)]; // return Array.from(new Set(arr)); //不用展开运算符,也可以使用Array.from()方法,它的作用是将一个类数组对象或者可遍历对

2021-01-15 22:42:53 86 2

原创 解决微信服务号授权域名不够用,微信网页授权回调域名只能设置2个的问题!

前言最近在做微信网页项目时,发现服务号授权域名只能有两个,而多个项目都需要用到微信授权获取用户信息,这就导致了域名不够用的问题。如果给每个项目都配一个服务号,这显然是不现实的,不仅需要成本而且很浪费资源。通过思考以及网络查找之后,总结出了以下方法:通过中间页面代理获取微信授权code,然后跳转到对应需要使用授权的项目上一、在已授权的域名目录下,添加授权代理中间页在已授权的域名目录下(根目录,子目录都可以),添加授权代理的中间页B。假如页面A需要使用微信授权,而此时授权域名已经满了,不够用了。此时就

2020-11-30 12:10:07 6144 4

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除