Cobalt介绍:

Cobalt浏览器是YouTube公司定制的一款专用浏览器,Cobalt的使命,是在电视机端,使用灵活多变web形式实现流畅的交互操作,从而替代Android,与普通浏览器不同,Cobalt在W3C定制的协议基础上做了定制缩减,使浏览器变得更加轻量,这就意味着在开发过程中很多技术会得到限制,可以将Cobalt理解为 ‘瘦版’ 的Chrome。

因为第一次接触到Cobalt浏览器,而且国内几乎没有任何关于Cobalt的介绍以及技术支持,所以在项目中摸索了下,写下了本文,全篇仅供参考,若有错误的地方欢迎指出,我会测试后及时改正,希望对你能有所帮助!

英文文档参考地址: https://cobalt.foo/development/reference/supported-features.html#protocols

Cobalt支持总结

一.HTML5页面结构精简:

在页面结构上,Cobalt抛弃了大量html5语义化标签,这也使得结构的丰富性及可读性降低,除去页面必须的结构:

<html>、<head>、<meta>、<body>、<link>(仅用于css引入)、<script>、<style>之外,其余可供使用只有<div>、<span>、<video>标签。

浏览器对页面结构的支持仅剩这十来种,唯一可供操作的只有<div>、<span>、<video>,项目中经常会用到的图片img,显示时得通过给div加背景图片来实现,Cobalt去除了语义化标签,所以在浏览器的内存消耗以及页面渲染可以得到非常好的优化,渲染速度可以大幅提升。

二.Css3 样式表

对Css的支持没有太大的简化,基本Css3的属性都有支持,包括动画animation、背景background及背景操作、边框border、颜色color、字体font、盒子模型属性margin和padding等、透明度opacity、定位position、2/3D转换、文本效果等,但是并不支持常用的flex布局格式。

三.Css选择器

支持简单的选择器 *, type, class, id, :empty, :focus, :not()

支持伪类 :before, :after

支持连接符 >, +, ~

支持多个class操作 ,

选择器方面,Cobalt抛弃了常用的element、悬停选择四种状态、子元素选择器nth-child等。

四.JavaScript

4.1 Crypto.getRandomValues:支持调用随机数

4.2 CSSOM(CSS Object Model):Css对象模型

(1)通过提供更多的技术特性(以提高可测试性和互操作性),改进先前的工作;

(2)弃用或删除某些在Cobalt中被认为是不必要的特性;

(3)新指定已经或预期将被广泛实施的某些扩展。

支持使用媒体查询Media Queries;

支持选择器:包含类选择器‘.’,ID选择器‘#’,伪类选择器‘:th-chlid()’等等;

支持JS对CSS的样式操作;

4.3 CSSOM View Module:Css视图模型

支持Css视图溢出overflow;

支持以标准的px像素为默认单位;

支持缩放;

支持滚动操作;

4.3.1 window:

features open(),为open方法预留了第三个参数,以便实现将来的操作;

MediaQueryList;

Screen,支持输出设备屏幕的信息。

4.3.2 document:

document.elementFromPoint,返回当前文档上处于指定坐标位置最顶层的元素;

Document.caretPositionFromPoint;

4.3.3 element:

支持element操作;

支持offset操作;

4.3.4 MouseEvent:

支持查询鼠标当前位置;

(Ps:文档中表示不支持滚动条、不支持移动、不支持resizing监视窗口变化,跟内容解释有些许冲突,可在后续测试中解决)

4.4 支持Console.log打印信息

4.5 DOM4

支持基本UI事件、元素遍历、选择器、DOM操作等;

4.5 EncryptedMedia Extensions v0.1b

支持加密媒体传输;

4.6 Image (仅用于预加载和缓存)

4.7 媒体资源扩展

此提案尚未发布,扩展了HTMLMediaElement以允许JavaScript生成用于播放的媒体流。允许JavaScript生成流有助于实现各种用例,如自适应流式传输和时移实时流。

4.8 Array数组

支持数组大部分常规的操作

4.9 URL

支持使用构造函数新建URL;

支持URL的操作;

4.10 支持部分web audio

4.11 web storage

支持HTML5新特性本地缓存localStorage 和瞬时缓存sessionStorage

4.12 XMLHttpRequest Level 1

支持HTTP 1.0

五.协议支持

https

h5vcc

CSP2

不支持ftp、file,不支持文件的上传,精简的Cobalt浏览器只用于显示。

六.媒体格式

视频类型支持:FLV、MKV、MP4/FMP4、WAV

编码格式支持:AAC、AVC(H.264) at 1080p/60fps、VP8/Vorbis、VP9/Opus、16-bit setereo PCM audio(for sound effects)

图片格式支持:JPEG、PNG、WebP(非动画)

因为一个网页占内存最大的其实就是图片和视频,渲染和加载会消耗大量内存和网络,Cobalt对媒体格式做了大量的限制,常用的RMVB、MOV、AVI、WMV、MOV等都无法渲染,废除了BMP、GIF、TIFF、SVG、TGA等,保留下最常用的JPG、PNG和WebP,尽量减轻浏览器负载,释放内存,在Cobalt浏览器上统一规范,加快页面响应,提升用户体验。

YouTube Cobalt 浏览器支持的更多相关文章

  1. (转)让浏览器支持Webp

    转载:https://segmentfault.com/a/1190000005898538?utm_source=tuicool&utm_medium=referral Webp介绍 web ...

  2. 让浏览器支持Webp

    Webp介绍 webp是一种同时提供了有损压缩与无损压缩的图片档案格式 ,衍生自影像编码格式VP8,是由Google在购买On2 Technologies后发展出来,以BSD授权条款释出.根据 Goo ...

  3. 让不支持h5新标签的浏览器支持新标签

    把这段js加到页面的头部就可以了,创建想让浏览器支持的标签即可 //条件判断是否支持 h5 if(window.applicationCache){ alert("支持h5") } ...

  4. 让IE6/IE7/IE8浏览器支持CSS3属性

    让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...

  5. 让IE浏览器支持CSS3圆角属性的方法

    绘出圆角: 1.下载一个压缩包,里面有一个微软的脚本文件(11KB)和一个用来测试服务器是否有正确的Content-Type的HTML文件:iecss3.rar:.htc 文件是IE内核支持Web行为 ...

  6. ie-css3.htc 可以让IE低版本浏览器支持CSS3 的一个小工具

    ie-css3.htc 先说道说道这斯是弄啥嘞 ie-css3.htc是一个可以让IE浏览器支持部份CSS3属性的htc文件,不只是box-shadow,它还可以让你的IE浏览器支持圆角属性borde ...

  7. onscroll事件的浏览器支持

    window和普通div对象的scroll事件,被全部浏览器支持,其他元素的scroll事件,仅部分浏览器支持,如下图 出处: http://w3help.org/zh-cn/causes/SD901 ...

  8. 让ie浏览器支持html5新标签的解决方法(使用html5shiv)

    没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览 ...

  9. css3 -- 浏览器支持

    浏览器支持的前缀: 1.浏览器兼容前缀 -webkit-transform:rotate(-3deg); /*为Chrome/Safari*/ -moz-transform:rotate(-3deg) ...

随机推荐

  1. 转载:官方Caffe-windows 配置与示例运行

    转载来自:http://blog.csdn.net/guoyk1990/article/details/52909864 本文主要介绍官方给出的caffe-windows的配置及如何训练mnist数据 ...

  2. electron 项目的搭建方式,借助 node 和 npm

    1,首先确定安装了 node 和 npm 2,创建一个文件夹,如 aa 3,CMD 命令进入到 aa,用 npm 命令初始化一个项目 4, npm -init 根据提示完成配置 5,安装 electr ...

  3. liunx poi excel下载内容乱码本地tomcat正常

    结论:在jsp中加上out.clear即可(前提保证生成的excel在服务器上是正确的,只是浏览器传输才出现乱码). dowload.jsp完整代码 <%@ page language=&quo ...

  4. JS 相等判断 / 类型判断

    相等判断 JavaScript提供三种不同的值比较操作: 严格相等 ("triple equals" 或 "identity"),使用 === , 宽松相等 ( ...

  5. ASP.net 完整登录流程

    登录流程 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syst ...

  6. 讲讲亿级PV的负载均衡架构

    引言 本来没想写这个题材的,为了某某童鞋能够更好的茁壮成长,临时写一篇负载均衡的.负载均衡,大家可能听过什么3层负载均衡.4层负载均衡.7层负载均衡什么的?那这是怎么分的呢,ok,是根据osi七层网络 ...

  7. 使用STM32的USART的同步模式Synchronous调戏SPI【usart模拟spi理论】

    [原创出品§转载请注明出处] 出处:http://www.cnblogs.com/libra13179/p/7064321.html 什么东西?? 我们先来看我们平常看到SPI的时序图(呵呵,要是忘记 ...

  8. Phabricator代码审核Audit用户指南

    作者: shaneZhang 分类: 互联网技术 发布时间: 2015-07-04 13:37 概览 Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提 ...

  9. TCP的窗口滑动机制

    TCP的滑动窗口主要有两个作用,一是提供TCP的可靠性,二是提供TCP的流控特性.同时滑动窗口机制还体现了TCP面向字节流的设计思路. 可靠:对发送的数据进行确认 流控制:窗口大小随链路变化. 一.t ...

  10. maven使用fingbugs插件

    <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plu ...