8.2k 7 分钟

# requestAnimationFrame 官方介绍

# requestAnimationFrame 用处概述

window.requestAnimationFrame() 告诉浏览器 —— 你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行...

官方文档对应截图

img

官方文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Window/requestAnimationFrame

5.1k 5 分钟

渲染优化是前端开发中非常重要的一部分,它涉及到提高页面加载速度、减少资源消耗、优化用户体验等方面。下面本人将结合自己所学知识,对一些常见的渲染优化技巧以及具体的示例进行说明。

# 1. 禁止使用 iframe

# 原因:

  1. 阻塞主页面加载iframe 会阻塞主页面的 onload事件 ,因为当 iframe 加载完毕之后,才会触发主页面的 onload事件 。这会导致主页面的加载速度变慢,影响用户体验。
  2. 不利于搜索引擎优化(SEO) :搜索引擎的爬虫程序无法解读 iframe 中的内容,因此 iframe 中的内容对于网页的 SEO 没有帮助。如果网页的重要内容被放在 iframe 中,可能会导致搜索引擎无法正确索引页面内容,降低网页的排名。
  3. 影响页面并行加载iframe 和主页面共享连接池,而浏览器对相同域的连接有限制,所以当页面中包含多个 iframe 时,会影响页面的并行加载能力,导致页面加载速度变慢。
  4. 性能影响iframe 的加载会消耗网络带宽和浏览器资源,尤其是当页面中包含大量的 iframe 时,会增加浏览器的负担,影响页面的性能和响应速度。

10k 9 分钟

转自:https://zhuanlan.zhihu.com/p/163032982

Object Oriented Programming (OOP) 面向对象衍生出的精华之一 —— 设计模式,在过去几十年的软件开发历史中被证明是行之有效的一系列软件设计最佳实践

img

这本《设计模式:可复用面向对象软件的基础》是讲述设计模式的经典书籍,懂 Java 的朋友务必要看看这本书。

如果是纯前端的同学,Java 语法看起来可能有点不习惯。但事实上,或许也不一定要看懂这本书的代码,而是去理解里面描述的设计模式到底是什么。

5.7k 5 分钟

# PWA 初次体验

前言:本示例不用安装任何东西

部分资源来自网络资源及 PWA 官网,不要把 PWA 想象的太复杂,跟着示例走一下,你行的。

4.8k 4 分钟

Google 在 2020/5/4 号发布了新的搜寻引擎演算法更新 "The May 2020 Core Update",影响许多站主的来客流量,正当大家还摸不著头绪时,5/5 又提出了新的使用者体验量化方式"Web Vitals",在 5/28 更指出此量化方式将开始至少试验一年的时间,在 2021 年之后某个时间点成为 Google 搜寻排序指标之一,符合 AMP 或 良好 Web Vitals 的网站都能出现在 Search Top Stories 上。究竟什么是 Web Vitals 以及 Google 发展体验量化标准能够对他们的业务带来什么帮助,以下部份内容包含自己的观点,希望能抛砖引玉,互相切磋成长。

10k 9 分钟

ServiceWorker 是一个运行在浏览器背后的独立线程,它拥有访问网络的能力,可以用来实现缓存、消息推送、后台自动更新等功能,甚至可以用来实现一个完整的 Web 服务器。

因为 ServiceWorker 运行在浏览器背后,因为这个特性,它可以实现一些不需要服务器参与的功能,比如消息推送、后台自动更新等。

798 1 分钟

当请求的凭据模式为 include 时,相应中的 Access-Control-Allow-Origin 标头的值不能是通配符 "*"

  • 如在请求定义中设置 withCredentials 标志,则会在请求中传递 cookie 等。
  • 如果服务器返回任何 set-cookie 响应头,那么必须返回 Access-Control-Allow-Credentials: true , 否则将不会在客户端上创建 cookie
  • 如果你这样设置,你需要同时指定了确切的 Access-Control-Allow-Origin 响应头,因为 Access-Control-Allow-Origin: 不具有凭证兼容

所以,当请求中携带 cookie 时, Access-Control-Allow-Origin 必须要有确切的指定,不能是通配符 (*),而 withCredentials 是跨域安全策略的一个东西。

14k 13 分钟

Webpack 是当下最热门的前端资源模块强大打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生成环境部署的前端资源;还可以将按需加载的模块进行代码分割,等到实际需要再异步加载。在使用 webpack 时,如果不注意性能优化,非常大的可能产生性能问题。性能问题主要分为开发时构建速度慢、开发调试时的重复工作、输出打包文件过大等,因此优化啊方案也主要针对这些方面来分析得出。

657 1 分钟

window.onload() $(document).ready() 加载时机 必须等待网页全部加载完毕(包括图片等),然后再执行 JS 代码 只需要等待网页中的 DOM 结构加载完毕,就能执行 JS 代码 执行次数 只能执行一次,如果第二次,那么第一次的执行会被覆盖 可以执行多次,第 N 次都不会被上一次覆盖 举例 以下代码无法正确执行: window.onload = function() { alert(“text1”);};window.onload = function() {...