写点什么

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:003232
用户头像

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

关注

评论

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

作为程序员一定不要仅仅追求物质,Javaweb面试宝典

Java 程序员 后端

架构实战营-模块一

Aha hello xzy

架构实战营 「架构实战营」

关于Java性能优化的几点建议,图灵学院4期百度网盘,附项目源码

Java 程序员 后端

你连基础的JVM运行时内存布局都忘了,springmvc实战教程

Java 程序员 后端

其实Zookeeper的选举机制也不难理解,今日头条Java后端面试

Java 程序员 后端

你还搞不定分布式系统流控、熔断吗,2021年最新Java面试点梳理

Java 程序员 后端

写给互联网大厂员工的真心话,MySQL优化原理分析及优化方案总结

Java 程序员 后端

DoS?DDoS?这件事要从另一个D说起……

郑州埃文科技

网络安全 DOS攻击 IP定位

你不知道这份超详细JVM内存结构,Java吊打面试官系列

Java 程序员 后端

你头秃都没想到还能这样吧,Java这些高端技术只有你还不知道

Java 程序员 后端

你的技术真的到天花板了吗,值得推荐!

Java 程序员 后端

全靠我啃烂了这份2021最新面试题,系统盘点Java开发者必须掌握的知识点

Java 程序员 后端

再见SpringMVC,linux教程第四版实验答案,Java全栈面试题

Java 程序员 后端

写给Java软件工程师的3条建议,百度笔试题百度校招面试经验,开源新作

Java 程序员 后端

分享Java资深架构师的成长之路,Java面试常见问题及回答技巧

Java 程序员 后端

保持稳定迭代的秘密:基于Spinnaker的全自动渐进式交付

博文视点Broadview

你有过迷茫吗,java的网络编程教程视频,这些知识点你会吗

Java 程序员 后端

云图说|初识云数据库GaussDB(for Redis)

华为云开发者联盟

数据库 redis 开源 华为云 GaussDB(for Redis)

全栈系统化的学习路线,基于SpringCloud微服务化开发平台项目

Java 程序员 后端

关于Java性能优化的几点建议,java编程书籍合集百度云,终局之战

Java 程序员 后端

写给Java开发的小程序布局指南,震惊

Java 程序员 后端

作为字节跳动面试官,linux菜鸟教程pdf下载,深度集成!

Java 程序员 后端

做Java程序员真的没有春天吗,12年高级工程师的“飞升之路”

Java 程序员 后端

关于SQL书写建议-&索引优化的总结,真香警告

Java 程序员 后端

你想学的都在这里,开课吧java架构师百度云,阿里Java开发面试解答

Java 程序员 后端

入职3个月的Java程序员面临转正,原来SqlSession只是个甩手掌柜

Java 程序员 后端

准备Java面试?中公教育java讲师,死磕原理

Java 程序员 后端

写给即将正在找工作的Java攻城狮,5分钟搞定

Java 程序员 后端

你不知道这份超详细JVM内存结构,京东校招Java面试题

Java 程序员 后端

全套教程百度云,java菜鸟教程多态,Mybatis源码解析

Java 程序员 后端

掌握渗透测试,从Web漏洞靶场搭建开始

华为云开发者联盟

测试 渗透测试 漏洞 漏洞靶场 wavsep

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