2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Chrome 54 终结 YouTube 的 Flash 内嵌技术

  • 2016-10-19
  • 本文字数:1686 字

    阅读完需:约 6 分钟

谷歌已经启动了 Chrome 54 项目。最新发布的版本进一步地边缘化 Flash,转而使用 HTML5 在浏览器里内嵌 YouTube 视频,同时包含了大量问题修复和功能改进。

谷歌移除 Flash 的工作已经进行了一段时间,发布的多个更新强化了用户和开发者对 HTML5 的使用体验。

YouTube 从 2015 年 1 月份开始使用 HTML5 作为默认的视频内嵌技术,谷歌在去年改变了 Chromium 处理网站 Flash 的方式。

从 Chrome 45 开始,浏览器在运行最重要的内容并暂停其它 Flash 内容之前会先检测网页中是否包含了 Flash 内容。

Chrome 54 稳定版重写了 YouTube 内嵌 Flash 的方式,当检测到有内嵌的 Flash YouTube 视频,浏览器会自动使用 HTML5 替代它。谷歌表示这个变化是“为了减少 Flash 在 Chrome 中的使用”。

Chrome 54 还带来了 Custom Elements 规范的 v1 版本。

Custom Elements v1:可重用 Web 组件这篇博文里,谷歌工程师 Eric Bidelman 说,通过使用自定义元素,“Web 开发者可以创建新的 HTML 标签,弥补已有标签的不足,也可以对其他开发者开发的组件进行扩展”。另外,跟 v0 版本不一样的是,v1 版本的 API 在设计上有很大不同。

关于如何遵循 v1 规范为一个元素定义 JavaScript API,Bidelman 说:

自定义元素的功能是通过 ES2015 类来定义的,ES2015 扩展了 HTMLElement。扩展 HTMLElement 可以保证自定义元素会继承整个 DOM API,也就是说,为这个类添加的任何一个属性 / 方法都会成为自定义元素 DOM 接口的一部分。本质上,就是使用这个类为你的标签创建 JavaScript API。

Bidelman 举了 AppDrawer 这个例子来说明如何定义 DOM 接口,其中类的属性被映射成 HTML 属性:

复制代码
class AppDrawer extends HTMLElement {
// A getter/setter for an open property.
get open() {
return this.hasAttribute('open');
}
set open(val) {
// Reflect the value of the open property as an HTML attribute.
if (val) {
this.setAttribute('open', '');
} else {
this.removeAttribute('open');
}
this.toggleDrawer();
}
// A getter/setter for a disabled property.
get disabled() {
return this.hasAttribute('disabled');
}
set disabled(val) {
// Reflect the value of the disabled property as an HTML attribute.
if (val) {
this.setAttribute('disabled', '');
} else {
this.removeAttribute('disabled');
}
}
// Can define constructor arguments if you wish.
constructor() {
// If you define a ctor, always call super() first!
// This is specific to CE and required by the spec.
super();
// Setup a click listener on <app-drawer> itself.
this.addEventListener('click', e => {
// Don't toggle the drawer if it's disabled.
if (this.disabled) {
return;
}
this.toggleDrawer();
});
}
toggleDrawer() {
...
}
}
customElements.define('app-drawer', AppDrawer);
</app-drawer>

关于更多自定义元素的信息,包括自定义元素的扩展和重构,请参看这里

Chrome 54 还包括了大量安全方面的问题修复。尽管谷歌没有透露太多关于这些问题的细节,Richard Bustamante 在稳定通道更新里还是列出了总共21 个安全问题修复,包括6 个“高”安全级别问题。其中一个是URL 欺骗漏洞相关问题,有一个是全局XSS 问题(CVE-2016-5181),还有一个Blink 引擎的堆溢出问题(CVE-2016-5182)。谷歌的PDF 软件包PDFium 有三个高级别的问题修复。

从谷歌公布的 Chrome 54 已移除和不再推荐使用的 API 列表来看,最新版本的 Chrome 不允许跨域访问 window.onunload 事件处理器,为的是让 Chrome 和 HTML 规范保持一致。HTTP/0.9 不再被推荐使用(开发者应该转向 HTTP/2),initTouchEvent 被移除。

Chrome 55 计划在今年 11 月发布。

查看英文原文: Chrome 54 Kills YouTube Flash Embeds


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-10-19 19:003380
用户头像

发布了 322 篇内容, 共 150.0 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

“你们程序员不就是修电脑的吗,你牛什么牛,成功跳槽百度工资从15K涨到28K

android 程序员 移动开发

顺丰科技 Hudi on Flink 实时数仓实践

Apache Flink

大数据 flink

[Android-Gradle]-搞定Groovy闭包这一篇就够了,android编程权威指南

android 程序员 移动开发

[译] Kotlin Clean 架构,移动端h5开发全过程

android 程序员 移动开发

[译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录

android 程序员 移动开发

[译] 管中窥豹:RxJava 与 Kotlin 协程的对比,Android社招面试题

android 程序员 移动开发

[正确]的使用Kotlin Flow进行搜索优化,移动端开发技术路线

android 程序员 移动开发

_带你了解腾讯开源的多渠道打包技术 VasDolly源码解析,2021移动开发者未来的出路在哪里

android 程序员 移动开发

直播预告|App 首页如何动态化更新?来看蚂蚁技术专家详解「支付宝」全新卡片技术栈

蚂蚁集团移动开发平台 mPaaS

大前端 支付宝 移动开发 mPaS 卡片技术

Apache Flink 在汽车之家的应用与实践

Apache Flink

大数据 flink

架构实战营 - 毕业总结

Julian Chu

代码覆盖率在敏捷式软件开发过程中的实践

爱奇艺技术产品团队

[译] 改善 Android Studio 的构建速度,网易资深Android架构师

android 程序员 移动开发

[译]使用 MODEL-VIEW-INTENT 第四部分 — 独立 UI 组件

android 程序员 移动开发

[译]内存泄露的八种花样(1),音视频开发工程师前景

android 程序员 移动开发

[译]内存泄露的八种花样,app优化的内容及策略

android 程序员 移动开发

[译] Flutter —— 根据不同屏幕尺寸高效的适配 UI,Android插件化入门指南

android 程序员 移动开发

[译]Android原生开发的现状,截止到2019年12月,一招彻底弄懂

android 程序员 移动开发

“主动离职公司还给n+1,android学生管理系统项目视频

android 程序员 移动开发

“我985毕业生,凭什么和你专科生在一起,android工程师面试题目和答案

android 程序员 移动开发

[译]使用 MODEL-VIEW-INTENT 第四部分 — 独立 UI 组件 (1)

android 程序员 移动开发

数字化工具是数字化转型很好的切入点,但是千万不要只见树木不见森林|DBT How

王和全

数字化转型 数字化

鸿蒙应用开发:如何与组件库(Glide)衔接?

ZEGO即构

鸿蒙 组件库

10倍加速!爱奇艺超分辨模型加速实践

爱奇艺技术产品团队

爱奇艺自研QAV1编码器,将在4K高清画质为用户节省36.6%的流量

爱奇艺技术产品团队

“你们Android的程序员不就是敲点代码吗,凭啥工资这么高

android 程序员 移动开发

英国顶级电影调色公司FilmLight发布爱奇艺定制母版渲染标准模版

爱奇艺技术产品团队

[Android]使用函数指针实现native层异步回调,鸿蒙app开发工具

android 程序员 移动开发

[干货]设计模式:六种单例的创建方式,外加一大波Android进阶架构师资料分享

android 程序员 移动开发

渗透测试之内网渗透学习

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

[译] WorkManager 基础入门,android小游戏源代码

android 程序员 移动开发

Chrome 54终结YouTube的Flash内嵌技术_JavaScript_James Chesters_InfoQ精选文章