女王控的博客

前端

143 篇文章

iframe和HTML5 blob实现当前页预览

实现方式 通常会新建一个另外的独立页面,专门用来接收传入的前端代码,通过新开窗口或者嵌入 iframe 页面的方式达到最终效果,其中可能会用到 HTML5 postMessage 等通信技术。 然而实际上,对于这个预览效果,如果代码是我们自己控制,而不是全权交给用户编辑的,是没有必要新建一个另外的预览页面,亦或者是在新窗口(新标签页)中浏览的。可以直接在当前页面构建一个文档上下文,实现更加方便快捷的预览。 核心原理 需要注意的是,当我们使用 new Blob… »

JS检测CSS属性浏览器是否支持

原生 CSS.supports 语法 返回布尔值 true 或者 false,用来检测是否支持某 CSS 属性。 实际开发的时候,需要使用到对 CSS 检测场景,往往都是针对低版本的 IE 浏览器,例如 IE9-IE11,低版本的 IE 浏览器并不支持浏览器原生支持的 CSS.supports()方法。 JS 赋值再取值的检测方法 当浏览器不支持某个 CSS 属性的时候,就算你强制设置,获取的计算值也不会是你设置的属性值 注意点 getComputedStyle… »

轻量级网站构建实践

需求背景 最近在做表单分享的需求,类似于问卷调查,需要在三端(桌面端、移动端、微信端)同时兼容 技术方案 我出的方案:采用原生语法新框架写,考虑到首屏渲染的问题未采用 主管出的方案:采用后端渲染模板的方式,最大化首屏加载速度,但有以下问题: 后端渲染对服务器 CPU 的要求较高 本来打算用 oss 来减少后端渲染,但考虑到表单经常变化,且分享的链接要尽可能的保持不变,这就限制了 oss… »

构建多平台轻量化组件的实践

需求背景 需求背景接上文 记一次组件打包为链接的实践 框架搭建接上文 Webpack 脚手架搭建笔记——记一次新项目搭建 组件轻量化 在将客服组件上线后,由于未考虑到加载的组件包的大小,尤其是初始加载的包比较大,即使是压缩过初始加载也有 600 多 k… »

Webpack脚手架搭建笔记——记一次新项目搭建

接上文 Webpack 升级优化——记一次产品端升级 最近需要开发一个新产品,此时需要一个新框架来承载新产品的开发,根据前端主管的建议,建议我在他已经开发出的新框架上进行改造,这里记录一下改造的关键点 babel 编译兼容 IE 在 .babelrc 文件里加上标红代码,防止 ie 某些方法报错 脚本运行颜色 在将 npm script 写成 nodejs 脚本时,脚本颜色是灰色,此时需要加上 参数 webpack 加速构建 在 webpack.base.babel.js 文件中添加 hard… »

0%