浏览器之家


双核浏览器漫谈:兼容IE特性的反思

随着Google Chrome浏览器攻城略地,市场份额逐步提升,其使用的WebKit网页渲染引擎也逐渐步入开发者的视野。在国内越来越多的第三方浏览器厂商开始尝试使用WebKit渲染引擎,并结合中国的具体国情(网银插件使用ActiveX,网页使用大量的IE专有技术扩展)提出了双核(双渲染引擎)浏览器的概念。双核浏览器通过巧妙的技术手段绕过了切换浏览器带来的用户身份的重新认证等诸多问题,在速度与兼容性方面实现了平衡。

双核浏览器并非新概念,早在2005年,浏览器大战烽火重新燃时,WebKit引擎还是Apple和Linux以及移动设备上的小众渲染引擎,而Mozilla的Gecko引擎是唯一成熟的开源浏览器渲染引擎。日本就有一家浏览器厂商Sleipnir推出了基于Gecko渲染引擎的双核浏览器。在Firefox方面,则有IE Tab等扩展,可以在Firefox浏览器中使用IE的Trident渲染引擎。在某种意义上,国内一些爱好者打包的包含IE Tab扩展的Firefox发行版,也是一种双核浏览器。

随着Google Chrome 在2008年的推出,WebKit引擎在Windows的系统兼容性和稳定性有了非常明显的提升,使用WebKit引擎作为普通用户日常工作使用的浏览器渲染引擎渐渐成为了一个可能的选择。国内也涌现出了很多以WebKit为主要渲染引擎的浏览器,主要的有Maxthon 3、Sogou浏览器、QQ浏览器(测试版)等。在技术架构上,这些基于Chrome或WebKit的浏览器都或多或少地参考借鉴了Chrome设计的多进程架构。默认都支持多进程浏览、崩溃恢复和防假死等特性。

双核浏览器的特殊性

双核浏览器在具体技术开发上,仍然需要面临因为有两套渲染引擎而带来的独特问题。

首先,因为两套引擎有不同的Cookie存储机制,需要在渲染器切换时,保留Cookie。在Trident引擎上,可以通过API接口实现自定义的Cookie存储,但是在实践中,经常发现丢失Cookie数据的情况。因此,另外一种常见的方式是截获HTTP Response,手工解析处理Cookie。

其次,我们在目前的国产浏览器切换渲染引擎后,在网页上点击鼠标右键,可以看到右键的弹出菜单有明显的不同。UI的不一致性会给普通用户带来困扰,典型的是在电话、文档的交流中。从这个方面看,国产的双核浏览器在用户界面上,仍然没有摆脱两张皮的嫌疑。在系统设置方面,也存在同样的问题。由于IE的某些Bug,系统设置中某些条目(安全相关)无法通过API编程接口设置,只能通过反向工程或其他手段直接修改。

最后,因为引入了双核,实际引入了双倍的被攻击的风险。在安全性方面需要投入更多的资源。由于中国的具体国情,IE浏览器长期一家独大,导致很多网页(政府网站和网上银行等)专门为IE浏览器设计优化。用户使用WebKit渲染引擎的浏览器浏览会遇到很多问题,从页面错乱、点击按钮无响应、文字乱码等不一而足。为此,国内的浏览器厂商也在与IE专有特性的兼容性方面做了很多的工作。

兼容IE特性的几个层面

评论

没安装畅言模块

Copyright © 2009-2020 www.t78.net All Rights Reserved 浏览器之家 版权所有