搜索
首页web前端html教程Chrome 49 Beta:CSS 自定义属性,使用 service workers 进行后台同步以及新的 ES2015 特性_html/css_WEB-ITnose

英文原文: Chrome 49 Beta: CSS custom properties, background sync with service workers, and new ES2015 features

作者:Josh Karlin,Syncing Samurai

除非另外注明,下面介绍的更新适用于最新 Chrome Beta 版(Android、Chrome OS、Linux、Mac 和 Windows)。

CSS 自定义属性

现代网站的 CSS 文件中常常含有重复的值,例如,在整个页面中重复使用一个配色方案中的少数几种颜色。更改此数据非常繁琐且容易出错,因为它分散在一个或多个 CSS 文件中。 为改善这种情况,Chrome 现在支持 CSS 自定义属性 ,允许开发者无需使用外部框架就可以在 CSS 中定义属性变量。然后,开发者可以使用 var() 函数 在文档中的任意位置 引用这些自定义属性 。

更改自定义属性可以更新网站中的多个组件

CSS 自定义属性也可以跨 shadow root 继承,因此,Web 组件可以提供“样式 API”,从而可以在不知道组件内容的情况下调整组件并设置主题。Polymer 库利用此平台功能 简化定制组件 。

使用 service workers 进行后台同步

以前,在通过网络发送更新之前,如果用户没有停留在网站上,网站可能会丢失本地修改或不同步。例如,如果用户点击“发送”并迅速离开,电子邮件网页客户端可能会丢失发送中的消息。新的 Background Sync API 通过在设备下一次连接到网络(即使并未打开该网站)时 ,由 service worker 执行 一次性同步用户的本地更改 来提升网络可靠性。

改进的 ECMAScript 2015 支持

ES2015 规范 (ES6) 是对 JavaScript 进行的重大更新,使开发者可以编写更清晰易读、更强大、更省内存的应用逻辑。 最新版本的 Chrome V8 引擎 支持 91% 的 JavaScript ES2015 功能 。现在,从数组和对象提取数据时或 设置函数参数默认值 时,开发者可以使用 解构 和 默认参数 来避免样板文件代码。 代理对象 和 Reflect API 可以定制以前隐藏的对象行为,如属性查找和分配。最新版本的 Chrome 还可以构建代码块级结构,如在 strict mode 之外可用的  class 和 let 。

Keygen 和 application/x-x509-user-cert

元素 用于生成密钥对,后者是 HTML 表单的一部分。尽管这可以用于增强用户安全性,但 和通过 MIME 类型 application/x-x509-user-cert 发送的用户证书也可能被人利用来中断用户的安全通信,干扰其设备的运行或在未经用户同意的情况下跟踪用户。今后, 将默认返回一个空字符串,并将不再自动下载和安装通过 MIME 类型 application/x-x509-user-cert 发送的用户证书。

此版本中的其他特性

  • 经用户同意,网站可以通过使用新的 MediaRecorder API 录制音频和视频 ,无需依靠插件。

  • 开发者现在可以使用 CSS font-display 控制字体加载方式 ,从而提升页面加载速度。

  • 现在,网站可以检查哪个 service worker 客户端发起了 fetch 请求,并使用 FetchEvent.clientID 属性 返回专用响应。

  • 对于不连续的滚动设备,如鼠标滚轮,Chrome 现在 以动画方式呈现滚动 ,从而可以实现 更顺畅的用户体验 。

  • Chrome 现在更加严格地 保护安全的 Cookie ,并允许开发者使用 Cookie 前缀 标识安全的 Cookie。

  • 现在,网站可以 使用 disableRemotePlayback 属性 (作为 Remote Playback API 一部分)防止远程播放媒体。

  • Event.timeStamp 现在使用 DOMHighResTimeStamp 取代 DOMTimeStamp ,从而可以实现高精度的滚动延迟和 指针速度测量 。

  • Promise 拒绝处理功能现在可以使用 UnhandledRejection 和 RejectionHandled 事件进行跟踪 。

  • 现在,通过使用 URLSearchParams ,开发者可以更轻松地与 URL 的 GET 参数 交互。

  • WebAudio API 现在支持 IIR Filters 、 OfflineAudioContext.suspend() 和 resume() ,以及 DecodeAudioData 中的 promise。

  • WindowClient.navigate() 允许  service worker 将受控窗口定位 到新的 URL。

  • 网站可以检测用户是否已请求减少数据使用,并通过选择 Save-Data 头字段 以更轻快便捷地作出响应。

细微更改

  • Chrome 的 内容安全政策 现在允许“script-src http:”与 HTTP 和 HTTPS 匹配,从而防止开发者无意中拒绝安全资源。
  • Fetch API 的 Request.mode 枚举现在 支持导航模式 ,从而更好地符合规范要求。

  • 现在,匹配属性选择器时,开发者可以选择 忽略大小写 。

  • 现在,开发者可以创建不公开的弹出窗口,页面使用 ‘rel=noopener’ 打开此窗口。

  • addEventListener() 和 removeEventListener() 现在需要它们的前两个参数,同时使用字典语法指定“capture”选项,从而更好地符合规范要求和提高灵活性。

  • Chromium 现在支持 TLS 中的标准版 ChaCha-Poly1305 加密套件 。

  • Navigator.getStorageUpdates() 已删除,因为它不再存在于 Navigator 规范 中。

  • MouseEvent.webkitMovementX/Y 已删除,代之以 无前缀版本 。

  • initTouchEvent 已弃用,代之以 TouchEvent 构造函数 ,以更好地符合规范要求,并将在 Chrome 53 中一起删除。

  • Object.observe() 已弃用,因为它 不再适应标准化的趋势要求 ,并将在未来的版本中删除。

  • getComputedStyle(e).cssX 行为已弃用,因为它并非正式的 规范 的组成部分。

  • 某些 RTCPeerConnection 旧有方法的非标准用法已弃用,以实现基于 promise 的 WebRTC 规范 实施。

  • Document.defaultCharset 已弃用,以更好地符合规范要求。

Post Views: 1

除非特别声明,此文章内容采用 知识共享署名 3.0 许可,代码示例采用 Apache 2.0 许可。更多细节请查看我们的 服务条款 。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
HTML的目的:启用Web浏览器可以显示内容HTML的目的:启用Web浏览器可以显示内容May 03, 2025 am 12:03 AM

HTML的核心目的在于让浏览器理解并展示网页内容。1.HTML通过标签定义网页结构和内容,如、到、等。2.HTML5增强了多媒体支持,引入了和标签。3.HTML提供了表单元素,支持用户交互。4.优化HTML代码可提升网页性能,如减少HTTP请求和压缩HTML。

为什么HTML标签对Web开发很重要?为什么HTML标签对Web开发很重要?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentastheyandendenhancewebpages.1)heSdefinElayout,语义和互动性。2)SemantictagsiCtagSimproveCacsibilitieAndseo.3)pose poseriblesibilityAndseoandseo.3)poser

说明将一致的编码样式用于HTML标签和属性的重要性。说明将一致的编码样式用于HTML标签和属性的重要性。May 01, 2025 am 12:01 AM

一致的HTML编码风格很重要,因为它提高了代码的可读性、可维护性和效率。1)使用小写标签和属性,2)保持一致的缩进,3)选择并坚持使用单引号或双引号,4)避免在项目中混合使用不同风格,5)利用自动化工具如Prettier或ESLint来确保风格的一致性。

如何在 Bootstrap 4 中实现多项目轮播?如何在 Bootstrap 4 中实现多项目轮播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中实现多项目轮播的解决方案在Bootstrap4中实现多项目轮播并不是一件简单的事情。虽然Bootstrap...

deepseek官网是如何实现鼠标滚动事件穿透效果的?deepseek官网是如何实现鼠标滚动事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何实现鼠标滚动事件穿透效果?在我们浏览网页时,经常会遇到一些特别的交互设计。比如在deepseek官网上,�...

HTML 视频的播放控件样式怎么修改HTML 视频的播放控件样式怎么修改Apr 30, 2025 pm 03:18 PM

无法直接通过CSS修改HTML视频的默认播放控件样式。1.使用JavaScript创建自定义控件。2.通过CSS美化这些控件。3.考虑兼容性、用户体验和性能,使用库如Video.js或Plyr可简化过程。

在手机上使用原生select会带来哪些问题?在手机上使用原生select会带来哪些问题?Apr 30, 2025 pm 03:15 PM

在手机上使用原生select的潜在问题在开发移动端应用时,我们常常会遇到选择框的需求。通常情况下,开发者倾...

在手机上使用原生select的弊端是什么?在手机上使用原生select的弊端是什么?Apr 30, 2025 pm 03:12 PM

在手机上使用原生select的弊端是什么?在移动设备上开发应用时,选择合适的UI组件是非常重要的。许多开发者�...

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用