[C# 网络编程系列]专题四:自定义Web浏览器
2014-03-12 16:26
162 查看
前言:
前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这层神秘的面纱(以前总感觉这些应用感觉很深奥的,没想到自己也可以自定义一个浏览器出来),下面不啰嗦了,进入正题。
一、Web浏览器的介绍
Web浏览器是指可以显示Web服务器或者本地文件系统中的Html文件内容,并让用户与这些文件交互的一种软件,它是网络服务的客户端浏览程序,可向Web服务器发送请求,并对服务器返回的超文本信息和各种媒体、图片进行解释和显示。
浏览器主要通过Http协议与服务器交互并获得网页,现在主流的浏览器有:IE,Google Chrome(谷歌浏览器)、Mozilla Firefox(火狐)、Opera浏览器、世界之窗、360安全浏览器等。
Web浏览器的组成
一般来说,Web浏览器由控制器和解释器组成,控制器负责解释鼠标点击与键盘输入,并调用其他组件用于执行用户的指定的操作。例如,当用户输入一个URL或单击一个超链接时,控制器接收并分析该命令,调用一个HTML解释器来解释该页面,并将解释后的结果显示在用户的浏览器上。
解释器对于浏览器来说是很重要的, 解释器,也就是解释引擎,负责对网页语法(如HTML、Javascript)的解释并显示网页,解释器决定了浏览器如何显示页面,是浏览器最重要最核心的一个部分,所以一般我们所说的浏览器内核指的就是浏览器的解释器。
不同浏览器产品可能使用同一个内核,浏览器内核常见的有四种:Trident、Gecko、Presto和Webkit, 他们与主流浏览器的对于关系如下表:
二、.NET平台对浏览器开发的支持
浏览器软件一般都不是从头开始开发的,而是基于某种内核之上的扩展。同样,微软.NET平台封装了IE浏览器内核并以COM组件的形式提供用户,这个COM组件就是WebBrowser控件,该控件实现了浏览器中几乎全部的基本功能。
WebBrowser就是一个以IE(Trident)为内核,实现了基本功能的Web浏览器。使用WebBrowser控件可以在Windows窗体应用程序中浏览网页,WebBrowser控件位于工具箱中,使用时只需要将它直接拖拉到程序窗口中。
下面介绍WebBrowser控件的常用的属性和方法
这里我直接摘自MSDN中的一个表来说明的:
三、在.NET平台下自定义Web浏览器
下面是自定义浏览器的一些效果图:
浏览器的主页面:
点击查看->源文件->UTF-8后就可以查看Html的源码界面:
关于窗口的设计页面:
在搜索栏里面输入下载后利用百度搜索引擎后显示的页面:
前一个专题介绍了自定义的Web服务器,然而向Web服务器发出请求的正是本专题要介绍的Web浏览器,本专题通过简单自定义一个Web浏览器来简单介绍浏览器的工作原理,以及帮助一些初学者揭开浏览器这层神秘的面纱(以前总感觉这些应用感觉很深奥的,没想到自己也可以自定义一个浏览器出来),下面不啰嗦了,进入正题。
一、Web浏览器的介绍
Web浏览器是指可以显示Web服务器或者本地文件系统中的Html文件内容,并让用户与这些文件交互的一种软件,它是网络服务的客户端浏览程序,可向Web服务器发送请求,并对服务器返回的超文本信息和各种媒体、图片进行解释和显示。
浏览器主要通过Http协议与服务器交互并获得网页,现在主流的浏览器有:IE,Google Chrome(谷歌浏览器)、Mozilla Firefox(火狐)、Opera浏览器、世界之窗、360安全浏览器等。
Web浏览器的组成
一般来说,Web浏览器由控制器和解释器组成,控制器负责解释鼠标点击与键盘输入,并调用其他组件用于执行用户的指定的操作。例如,当用户输入一个URL或单击一个超链接时,控制器接收并分析该命令,调用一个HTML解释器来解释该页面,并将解释后的结果显示在用户的浏览器上。
解释器对于浏览器来说是很重要的, 解释器,也就是解释引擎,负责对网页语法(如HTML、Javascript)的解释并显示网页,解释器决定了浏览器如何显示页面,是浏览器最重要最核心的一个部分,所以一般我们所说的浏览器内核指的就是浏览器的解释器。
不同浏览器产品可能使用同一个内核,浏览器内核常见的有四种:Trident、Gecko、Presto和Webkit, 他们与主流浏览器的对于关系如下表:
内核 | 浏览器产品 |
Trident | IE,Maxthon(傲游),世界之窗,腾讯TT,搜狗浏览器,360安全浏览器 |
Gecko | Mozilla Firefox(火狐) |
Presto | Opera浏览器 |
Webkit | 苹果Safari浏览器,Google Chrome(谷歌浏览器)及苹果Iphone手机浏览引擎 |
浏览器软件一般都不是从头开始开发的,而是基于某种内核之上的扩展。同样,微软.NET平台封装了IE浏览器内核并以COM组件的形式提供用户,这个COM组件就是WebBrowser控件,该控件实现了浏览器中几乎全部的基本功能。
WebBrowser就是一个以IE(Trident)为内核,实现了基本功能的Web浏览器。使用WebBrowser控件可以在Windows窗体应用程序中浏览网页,WebBrowser控件位于工具箱中,使用时只需要将它直接拖拉到程序窗口中。
下面介绍WebBrowser控件的常用的属性和方法
这里我直接摘自MSDN中的一个表来说明的:
名称 | 说明 |
---|---|
Document 属性 | 获取一个对象,用于提供对当前网页的 HTML 文档对象模型 (DOM) 的托管访问。 |
DocumentCompleted 事件 | 网页完成加载时发生。 |
DocumentText 属性 | 获取或设置当前网页的 HTML 内容。 |
DocumentTitle 属性 | 获取当前网页的标题。 |
GoBack 方法 | 定位到历史记录中的上一页。 |
GoForward 方法 | 定位到历史记录中的下一页。 |
Navigate 方法 | 定位到指定的 URL。 |
Navigating 事件 | 导航开始之前发生,使操作可以被取消。 |
ObjectForScripting 属性 | 获取或设置网页脚本代码可以用来与应用程序进行通信的对象。 |
Print 方法 | 打印当前的网页。 |
Refresh 方法 | 重新加载当前的网页。 |
Stop 方法 | 暂停当前的导航,停止动态页元素,如声音和动画。 |
Url 属性 | 获取或设置当前网页的 URL。设置该属性时,会将该控件定位到新的 URL。 |
下面是自定义浏览器的一些效果图:
浏览器的主页面:
点击查看->源文件->UTF-8后就可以查看Html的源码界面:
关于窗口的设计页面:
在搜索栏里面输入下载后利用百度搜索引擎后显示的页面:
相关文章推荐
- [C# 网络编程系列]专题四:自定义Web浏览器
- [C# 网络编程系列]专题四:自定义Web浏览器
- [C# 网络编程系列]专题四:自定义Web浏览器
- [C# 网络编程系列]专题四:自定义Web浏览器
- 【C# 网络编程系列】专题四:自定义Web浏览器
- C# 网络编程系列]专题四:自定义Web浏览器
- [C# 网络编程系列]专题三:自定义Web服务器
- C# 网络编程系列四:自定义Web浏览器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- [C# 网络编程系列]专题三:自定义Web服务器
- C#网络编程系列四:自定义Web浏览器
- 【C#网络编程系列】专题三:自定义web服务器
- C#网络编程系列四:自定义Web浏览器