当前位置: 首页 > 科技观察

Chrome54Beta:媒体平台和其他内容改进

时间:2023-03-20 10:42:44 科技观察

Chrome54Beta版有多项优化,包括自定义元素V1、BroadcastChannel和媒体平台改进。CustomElementsv1复杂的用户界面通常需要大量的HTML。大多数语言通过允许开发人员基于语言原语创建自己的组件来减轻这种冗余。自定义元素允许开发人员创建自定义HTML标记,以及在JavaScript中定义新元素的API和行为。这使得能够以浏览器原生的方式构建可重用、可互操作的组件。Chrome54支持最新的CustomElementsV1规范,该规范得到了各大浏览器厂商的广泛认可。Chrome还将继续支持V0API,直到有足够多的开发人员转向V1。BroadcastChannel桌面用户同时打开多个窗口或选项卡是很常见的。一些网站利用了这种行为,例如在自己的选项卡中打开文档的Web编辑器。这些选项卡之间的通信历来很困难。BroadcastChannel是一种新型的窗口、选项卡、iframe、网络工作者和服务工作者之间的一对多消息传递API。它允许脚本建立命名通道以在同源浏览上下文之间发送消息。Chrome(Android)媒体平台改进媒体在需要灵活使用整个屏幕的移动设备上的浏览体验中扮演着越来越重要的角色。现在,除了用户手势之外,开发人员还可以使用Element.requestFullScreen()在屏幕方向发生变化时触发全屏模式。这可以提供类似于媒体播放器旋转到全屏的体验。除了改进全屏模式外,Android上的Chrome现在还为在后台运行的HTMLVideoElements保持媒体通知运行,允许用户在视频不可见时继续播放视频。开发人员可以使用PageVisibilityAPI来检测背景视频播放。此版本中的其他功能在卸载处理程序中启动的导航将被阻止,之前的任何导航将继续。CanvasRenderingContext2D的imageSmoothingQuality属性允许开发人员在缩放时调整分辨率以平衡性能和图像质量。网站可以使用Node.getRootNode(options)获取指定节点的根。使用PushSubscription.options,网站可以跟踪applicationServerKeys而无需离线存储它们。ResourceTimingAPI现在支持传输、编码和解码大小属性,允许开发人员测量缓存效率和字节使用情况。user-select属性允许开发人员指定用户可以选择哪些元素以及如何选择。ForeignFetch和WebUSB可作为原始实验进行实验。弃用和互操作性改进为了匹配其他浏览器中的行为,嵌入式YouTubeFlash播放器将被Chrome覆盖以使用HTML5嵌入式样式,从而提高Chrome桌面的性能和安全性。CacheQueryOptions现在符合所有CacheStorage方法中的规范。initTouchEvent已被删除,取而代之的是新的TouchEvent()构造函数。SVGZoomEvent已被删除,因为它不再是SVG2.0规范的一部分。SVGSVGElement.currentView、SVGSVGElement.useCurrentView、SVGViewSpec接口和SVGSVGElement.viewport已被删除,因为它们不再是SVG2.0规范的一部分。SVGTests.requiredFeatures属性已弃用,因为它不再提供SVG2.0规范中的有用功能。SVGElement现在支持数据集属性。KeyEvent.keyIdentifier字段已被删除并替换为KeyboardEvent.key字段。window.external.IsSearchProviderInstalled()和AddSearchProvider()现已弃用,因为大多数其他浏览器不再支持它们。