Chrome 83 稳定版发布:新的跨域政策、表单控件,和改进的 Web 体验

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Chrome 83 稳定版发布了,以下是最主要的更新内容: 可信类型(Trusted types),有助于防止跨站点脚本漏洞 新的表单元素 新的跨域政策 引入 Web Vitals 计划 检测内存泄漏的新方法 可信类型(Trusted types) 基...

Chrome 83 稳定版发布了,以下是最主要的更新内容:

  • 可信类型(Trusted types),有助于防止跨站点脚本漏洞
  • 新的表单元素
  • 新的跨域政策
  • 引入 Web Vitals 计划
  • 检测内存泄漏的新方法

可信类型(Trusted types)

基于 DOM 的跨站点脚本(DOM XSS)是最常见的 Web 安全漏洞之一。可信类型(Trusted types)可以帮助防止此类漏洞,因为它们会要求你在将数据传递给潜在的危险之前对其进行处理。

以 innerHTML 为例,如果启用了可信类型,那么如果尝试传递一个字符串,它将抛出一个 TypeError,因为浏览器不知道它是否可以信任该字符串。

// Trusted types turned on
const elem = document.getElementById('myDiv');
elem.innerHTML = `Hello, world!`;
// Will throw a TypeError

相替代地,需要使用诸如 textContent 之类的安全函数,传入可信类型,或者创建该元素并使用appendChild()

// Use a safe function
elem.textContent = ''; // OK

// Pass in a trusted type
import DOMPurify from 'dompurify';
const str = `Hello, world!`;
elem.innerHTML = DOMPurify.sanitize(str, {RETURN_TRUSTED_TYPE: true});

// Create an element
const img = document.createElement('img');
img.src = 'xyz.jpg';
elem.appendChild(img);

更新表单控件

Chrome 和 Edge 进行了合作,以改善 HTML 表单控件的外观和功能。下图显示了 Chrome 中某些控件的新旧版本对比(左旧右新)。

Chrome 83 稳定版发布:新的跨域政策、表单控件,和改进的 Web 体验 

除了新的视觉风格之外,微软还提供了更好的触摸支持和辅助功能,同时改进了键盘支持。

Chrome 83 稳定版发布:新的跨域政策、表单控件,和改进的 Web 体验

新的跨域政策

一些 Web API 会增加诸如 Spectre 之类的旁道攻击的风险。为了减轻这种风险,Chrome 提供了一个基于选择加入的隔离环境,称为跨域隔离。这是通过两个新的 HTTP 标头完成的: Cross-Origin-Embedder-Policy
和 Cross-Origin-Opener-Policy。使用这些标头,网页可以安全地使用特权功能,包括:

  • Performance.measureMemory()
  • JS Self-Profiling API

跨域隔离状态还可以防止对document.domain进行修改。

Web vitals

有这样一组常见的信号——“Core Web Vitals”——对所有 Web 体验都至关重要。此类核心用户体验需求包括页面内容的加载体验、交互性和视觉稳定性,并且这些共同构成了 2020 Core Web Vitals 的基础。

Chrome 83 稳定版发布:新的跨域政策、表单控件,和改进的 Web 体验

  • Largest Contentful Paint 会测量感知的加载速度,并在页面的主要内容可能已加载时标记页面加载时间轴中的点。
  • First Input Delay 可测量响应度,并量化用户在首次尝试与页面进行交互时的体验。
  • Cumulative Layout Shift 可衡量视觉稳定性,并量化可见页面内容的意外布局移位量。

Origin trials

measureMemory()测量内存

performance.measureMemory() 是一个新的 API,可用于测量页面的内存使用情况并检测内存泄漏。

更新原生文件系统 API

原生文件系统(Native File System)API 在 Chrome 83 中启动了一项新的源程序试用版,该版本支持可写流,并且可以保存文件句柄。

async function writeURLToFile(fileHandle, url) {
  // Create a FileSystemWritableFileStream to write to.
  const writable = await fileHandle.createWritable();
  // Make an HTTP request for the contents.
  const response = await fetch(url);
  // Stream the response into the file.
  await response.body.pipeTo(writable);
  // pipeTo() closes the destination pipe automatically.
}

可写流使写入文件变得更加容易,并且可以轻松地将响应从一个流传输到另一个流。

将文件句柄保存到 IndexedDB 允许用户存储状态或记住用户正在处理哪些文件。例如,保留最近编辑的文件列表、打开用户正在使用的最后一个文件等等。

其他

  • Chrome 现在支持条形码检测 API,该 API 提供了检测和解码条形码的功能。
  • 新的 CSS @supports 函数为 CSS 选择器提供功能检测。
  • 新的 ARIA 注释支持屏幕阅读器可访问带有语义(类似于<mark>的语义)的注释、建议和文本高亮。
  • Preferreds-Color-Scheme 媒体查询使作者能够选择自己的深色主题,他们可以完全控制自己构建的体验。
  • JavaScript 现在支持共享工作程序中的模块。

详情可查阅:https://developers.google.com/web/updates/2020/05/nic83


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计语言

C程序设计语言

(美)Brian W. Kernighan、(美)Dennis M. Ritchie / 徐宝文、李志译、尤晋元审校 / 机械工业出版社 / 2004-1 / 30.00元

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书......一起来看看 《C程序设计语言》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具