关于web浏览器的一点随笔

简单的分解浏览器时,可分为控制器和解释器组成

1.控制器

控制器处理各种ui操作的处理,负责鼠键盘操作,完成用户的指定的操作.例如,当输入一个URL或单击一个超链接时,控制器接收并分析该命令,调用一个HTML解释器来解释该页面,并将解释后的结果显示在用户的浏览器上.

2.解释器

解释器是浏览器的重要部分, 解释器,也就是解释引擎,负责对网页语法(如HTML、Javascript、样式表)的解释并显示网页,解释器决定了浏览器如何显示页面(所以由于不同的内核,同一网页会显示出不同的样子,这就是web程序员很烦躁的地方。。),解释器是浏览器最重要最核心的一个部分,一般所说的浏览器内核指的就是浏览器的解释器。

对于解释器大致可分为web解释(html)+JS解释(javascript)两个部分,也就是内核所完成的工作。

不同浏览器产品可能使用同一个内核,浏览器内核常见的有四种:Trident、Gecko、PrestoWebkit, 他们与主流浏览器的对于关系如下表:

内核

浏览器产品

Trident

IE,Maxthon(傲游),世界之窗,腾讯TT,搜狗浏览器,360安全浏览器

Gecko

Mozilla Firefox(火狐)

Presto

Opera浏览器

Webkit

苹果Safari浏览器,Google Chrome(谷歌浏览器)及苹果Iphone手机浏览引擎

 

 

ps

1.在.net平台上由于本身就有webbrowser这个控件提供浏览器功能,故在此不缀叙.

   但是在(arcgis for flex)开发中曾经遇到过使用该控件,却无法正确使用需要添加以下代码:

class WebBrowserClass : System.Windows.Forms.WebBrowser 
    {
        protected override void WndProc(ref System.Windows.Forms.Message m)
        {
            switch (m.Msg)
            {
                case 0x201:   //   WM_LMOUSEBUTTON 
                case 0x204:
                case 0x207:
                case 0x21:
                    base.DefWndProc(ref   m);
                    return;
            }
            base.WndProc(ref   m);
        } 

    }

2. 在android环境下可使用开源webkit浏览器 (http://www.jjos.org/android/2010/05/10/312_webkit-webkit-for-android.html

posted @ 2013-02-18 11:11  xiaoEight  阅读(235)  评论(0编辑  收藏  举报