Chrome54終結YouTube的Flash內嵌技術
谷歌已經啟動了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 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);
關於更多自定義元素的資訊,包括自定義元素的擴充套件和重構,請參看這裡。
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月釋出。
相關文章
- 無人駕駛技術與個人隱私的終結
- MFC技術內幕簡結 (轉)
- git伺服器技術總結終極版Git伺服器
- 黑客利用漏洞,為Youtube網紅技術打Call黑客
- 在Flash中使用ASP技術 (轉)
- 禁用內嵌檢視的排序排序
- Nginx 內嵌變數Nginx變數
- 小程式的一些總結:畫canvas和內嵌webviewCanvasWebView
- YouTube推薦演算法獲技術艾美獎演算法
- Django的訊息中內嵌HTMLDjangoHTML
- MongoDB查詢內嵌文件MongoDB
- YouTube預設HTML5影片播放技術 或引發流媒體影片終端升級風暴HTML
- 為嘛沒有as3 /flash技術咧。。S3
- 淺談小程式內嵌網頁及內嵌網頁跳轉分享實現網頁
- Oracle、NoSQL和NewSQL 資料庫技術對比(二)- 終結OracleSQL資料庫
- 使用iframe內嵌網頁的時候,如何做到內嵌網頁的高度自適應 有大用網頁
- 小程式內嵌h5H5
- 17、內網滲透測試定位技術總結內網
- 內網穿透技術內網穿透
- WebKit技術內幕WebKit
- 《Flash建站技術》系列1-步入web殿堂薦Web
- Mongodb內嵌陣列的完全匹配查詢MongoDB陣列
- 常用的技術連結
- 簡單的面試總結---內含面試題目 | 掘金技術徵文面試題
- Flash即將死亡:一代網際網路遊戲動畫霸主的終結遊戲動畫
- SQL Server內建的HTAP技術SQLServer
- Spring Boot 揭祕與實戰(五) 伺服器篇 – 內嵌的伺服器 Tomcat剖析 | 掘金技術徵文Spring Boot伺服器Tomcat
- Spring Boot 揭祕與實戰(五) 伺服器篇 - 內嵌的伺服器 Tomcat剖析 | 掘金技術徵文Spring Boot伺服器Tomcat
- ios和android內嵌h5頁面聯調小結iOSAndroidH5
- Java相關技術點及技術內容Java
- SVG 立方體內嵌路徑拼接SVG
- 客戶端內嵌Vue頁面客戶端Vue
- C++內嵌彙編 教程1C++
- 深入分析 Java Web 技術內幕讀後總結JavaWeb
- 鑲嵌資料集工具小結(四)鑲嵌資料集的屬性 Ⅰ
- 鑲嵌資料集工具小結(五)鑲嵌資料集的屬性 Ⅱ
- 鑲嵌資料集工具小結(六)鑲嵌資料集的屬性 Ⅲ
- [React技術內幕] setState的祕密React