
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了WebRTC中PeerConnection的核心功能及其会话流程。PeerConnection作为通信载体,提供addTrack、createOffer等关键方法实现端对端连接。文章详细讲解了信令服务器的搭建过程,使用WebSocket和Redis存储用户及房间信息,支持join、leave等消息传递。通过监听socket事件处理呼叫、ICE候选交换等WebRTC通信步骤,完成多方实时会
众所周知的是,表单确实在前端,唔,或者说在网页中占有不小的比重。事实上,几乎每一个中大型网站都会有“登录注册”以验证用户信息、防止一些不可名状的隐患。。。那么表单的优劣就成了前端开发者急需解决的问题。其实我更愿意称为“代码的可读性”或“可复用性”以及“是否冗杂”。表单也有“优劣”?你在开玩笑嘛?我想你可以认真看下下面的代码,它用到了一些“新知识”:<form action="xxx" id=
大概一年多之前写过一篇文章:仿放大镜效果的几种方式原理解析,别看标题这么牛气哄哄,其实也就算是介绍了css里的transform和animation两种动画方式 —— 当然,实现的效果也很简单。虽然后来随着技术的增长又逐渐实现了canvas方式的放大镜以及用纯JS实现了另一种“淘宝式”的模型,其效果如下://xz:这里是一张图片但是仍然不尽人意:因为实现起来太复杂了,而且需依赖大部分JS逻辑,移动
之前写过一篇文章「小tips:如何摆脱浏览器下12px的限制」,不少人觉得“有点东西”。文中提到的“transform: scale()”方法也是利用了CSS中 transform 的特点,可以说兼顾了效果和性能。但是它必须考虑height甚至在“动态多行”效果时要用 JS 辅助的特点也很是让人头疼。其实还可以用两种方法解决这个限制:SVG解决文字12px限制SVG 本质上你可以看成是一张图片,给
假如我有一个需求,必须通过 js 执行动画,还得让 css 去配合。拿一个简单却不太恰当的例子来说:‘一闪一闪’效果的实现。传统Vue必须要利用“动态”。但是在 vue3.2 中,尤大提出了一个概念:Js in Css。它让我们可以在 css 中使用 js 变量,更好的控制动画的轨迹!从而达到“js向css传值”的效果。使用前需注意:本规则依托于,除此之外需先引入:那 css 怎么向 js 传参?
jQuery 以及之前的时候,前端工程师并不需要了解路由的概念。对于每次的页面跳转,都由后端开发人员来负责重新渲染模板。前端依赖后端,并且前端不需要负责路由的这种开发方式,这样开发速度会很快、后端也可以承担部分前端任务等。当然,这种开发方式也有很多缺点,比如前后端项目无法分离、页面跳转由于需要重新刷新整个页面、等待时间较长等等,所以也会让交互体验下降。为了提高页面的交互体验,很多前端工程师做了不同
背景和一点点看法见网上许多文章讲vue双向数据绑定一开口就大谈 Object.defineProperty 和 proxy。其实不然。vue 中有两个“特别的”概念:响应式(它和defineProperty有关)和双向数据绑定。其实响应式原理是一种单向行为:它是数据到 DOM (也就是view视图)的映射;而真正的双向绑定,除了数据变化会引起 DOM 的变化之外,还应该在操作 DOM 改变后反过来
本文要说的就是跟「数据改变」有关的两个API —— 其中最先出场的当然是 Object.defineProperty ,它有着“悠久的历史”;而自es6后,Vue3的使用让 proxy 越来越火,他们之间也算各有优势吧:Object.defineProperty?其实这个API主要是用来设置对象属性的可访问性!现在常用的“添加/删除属性”就是基于“对象属性设置了可写可操作”的前提下。以前看过一道面
最近在设计笔者所在组自己的组件库。从设计上看,一个组件库是否“成功”取决于前期的设计 —— 我决定用上ITCSS模型。为这个组件的团队维护、扩展打下坚实的基础。但这还不够,组件库最重要的组件往往是非大型库开发中最容易被忽视的。为此,我将组件从使用场景上分为两种类型:大组件:也叫“场景组件”。功能完善,自成一片天地。取之即用,通过传参在内部做不同处理 —— 或渲染不同UI、或返回不同值。最重要的是:

之前学习vue的时候就对$set很感兴趣,但奈何一直都是“小打小闹”,本以为莫非这玩意根本用不到而渐渐淡忘没想到最近项目中接二连三的出现类似的问题让我不得不重视起来。决心探探这“小雷音寺”。见微知著:new Vue()时都做了什么?首先找到vue的构造函数function Vue (options) {if (process.env.NODE_ENV !== 'production' &&








