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 发展体验量化标准能够对他们的业务带来什么帮助,以下部份内容包含自己的观点,希望能抛砖引玉,互相切磋成长。

2.5k 2 分钟

# Grid 布局

Grid 布局是一种新型 CSS 布局方式,特点为 二维布局 ,他比较擅长将一个页面划分为几个主要区域,能够轻松实现下列布局方式。

image.png

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 时,如果不注意性能优化,非常大的可能产生性能问题。性能问题主要分为开发时构建速度慢、开发调试时的重复工作、输出打包文件过大等,因此优化啊方案也主要针对这些方面来分析得出。

1.6k 1 分钟

在使用 ECharts 进行图表绘制时,可以利用 CSS Grid 布局来组织页面元素,确保图表能够在容器中正确显示。以下是一个简单的例子,展示了如何使用 CSS Grid 布局来搭建一个包含 ECharts 图表的页面。

重点在这一句: grid-template-columns: repeat(3, 1fr);

10k 9 分钟

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

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

657 1 分钟

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

# 1. 知识体系

# 1.1 从 URL 输入到页面加载

打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?现在带大家来看看流程。

首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址,然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接,随后我们向服务端抛出我们的 HTTP 请求,服务端处理完我们的请求之后,把目标数据放在 HTTP 响应里返回给客户端,拿到响应数据的浏览器就可以开始走一个渲染的流程。渲染完毕,页面便呈现给了用户

img

总体来说分为以下几个过程:

  • DNS 解析:将域名解析成 IP 地址
  • TCP 连接:TCP 三次握手
  • 发送 HTTP 请求
  • 服务器处理请求并返回 HTTP 报文
  • 浏览器拿到响应数据,解析响应内容,把解析的结果展示给用户
  • 断开连接:TCP 四次挥手

4.5k 4 分钟

# 工具

# Lighthouse

lighthouse 是一个用于诊断网页的工具,包括 性能、无障碍、渐进式、SEO 等方面,通过得分的方式来报告网页的质量。

使用方法:

  • Dev Tools : 直接在 Dev Tools 中 lighthouse panel 勾选 Mode 、 Device 、Categories 之后点击 Analyze page load 即可
  • lighthouse 扩展程序
  • npm 包
npm install -g lighthouse
lighthouse <url>