当前位置:文档之家› 第7章 Web浏览器

第7章 Web浏览器


Create
2. WebResponse类和HttpWebResponse类
WebResponse类与WebRequest类相似,也是一个抽象基类,针对HTTP的响 应类是派生自WebResponse类的HttpWebResponse类。
HttpWebResponse对象是通过调用WebRequest实例的GetResponse方法来创
其中URL“ /index.htm”为2345网址导航网站,本章 开发的Web浏览器就以它作为默认主页,如图7.7所示。
3. 事件 WebBrowser控件的常用事件及说明如表7-4所示。
事件 CanGoBackChanged CanGoForwardChanged 说明 在CanGoBack属性值更改时发生 在CanGoForward属性值更改时发生
例如,如果下一页可用,则单击【前进】按钮调用GoForward方法浏览下
一页,如图7.6所示,代码如下: private void pageForward_Click(object sender, EventArgs e) { pageWebBrowser.GoForward(); }
(3) GoHome方法 GoHome方法将WebBrowser控件导航到当前用户的主页。 语法: public void GoHome() 例如,单击【主页】按钮,返回当前用户设置的主页,如图7.6所示,代码如 下: private void pageHome_Click(object sender, EventArgs e) { pageWebBrowser.GoHome(); }
使用 requestUriString 参数创建一个 Uri 实例 , 并将该实例传递给新的 WebRequest. 该 方 法 将 运 行 时 确 定 的 WebRequest 类 的 子 类 作 为 与 requestUri 最 接 近 的 注 册 匹 配 项 。 例 如 , 当 以 http:// 开 头 的 URI 在 requestUri中传递时, 由Create返回一个HttpWebRequest, 如果改为传递 以file://开头的URI, 则Create方法将返回FileWebRequest实例. .NET支持 的方案有http://、https://和file://
1. Web浏览器的结构 Web浏览器由一组客户、一组解释器与一个管理它们的控制器单元组成。 图7.1给出了Web浏览器的结构。
不同浏览器产品可能使用同一种内核。浏览器内核很多,不过通常我们比
较常见的大约只有四种:Trident、Gecko、Presto和Webkit,它们与常用主 流浏览器产品的对应关系,如表7-1所示。
2. Web浏览器的功能 (1) 基本功能 • 网页显示与导航 • 保存网页 • 本地浏览 浏览器基本功能如图7.2示例(图中黑框框出),这里以360安全浏览器为例, 其他款的浏览器产品与之大同小异。
(2) 高级功能 • 查看和保存网页html源文件 • 集成搜索引擎 • 超链接页面自足显示 浏览器的高级功能如图7.3示例(图中黑框框出),仍然以360安全浏览器 为例。
7.2.1 WebBrowser控件 WebBrowser控件位于VS2008环境左侧区域的工具箱中,如图7.5所示。
1. 属性 WebBrowser控件的常用属性及说明如表7-2所示。
属性 AccessibleName AllowNavigation AllowWebBrowserDrop Bottom CanFocus CanGoBack CanGoForward CanSelect ContextMenuStrip Created Document DocumentStream DocumentText DocumentTitle DocumentType Url Version 说明 辅助功能客户端应用程序所使用的控件名称 指示控件在加载其初始页之后是否可以导航到其他页 指示WebBrowser控件是否导航到拖放到它上面的文档 获取控件下边缘与其容器的工作区上边缘之间的距离 获取一个值,该值指示控件是否可以接收焦点 指示导航历史记录中的上一页是否可用,只有可用,GoBack方法才能成功 指示导航历史记录的下一页是否可用,只有可用,GoForward方法才能成功 指示是否可以选中控件 设置与此控件关联的ContextMenuStrip 控件是否已经创建 获取一个HtmlDocument,它表示当前显示在WebBrowser控件中的网页 获取或设置一个流,该流包含显示在WebBrowser控件中的网页的内容 获取或设置显示在WebBrowser控件中的页的HTML内容 获取当前显示在WebBrowser控件中的文档的标题 获取当前显示在WebBrowser控件中的文档的类型 获取或设置当前文档的URL 获取所安装的Internet Explorer版本
内核 Trident Gecko Presto Webkit 软件产品 微软IE, Maxthon(傲游),世界之窗, 腾讯TT, 搜狗浏览器, 360安全浏览器 Mozilla FireFox(火狐) Opera浏览器 苹果Safari浏览器, Google Chrome(谷歌浏览器)及Gphone、苹果iPhone手 机浏览引擎
1. WebRequest类和HttpWebRequest类
WebRequest是.NET Framework的请求/响应模型的抽象(abstract)基 类,该类专用于访问Internet数据。
nternet请求数据。
HttpWebRequest是针对于HTTP的特定实现,即它的基类是WebRequest 抽象类。该类通过HTTP和服务器交互。 表7-5列出了HttpWebRequest类的常用属性和方法。
• 本章教学重ttpWebRequest类、 HttpWebResponse类和Uri类的用法。
7.1.1 互联网的入口
浏览器是一种很普通平常同时却又极为特殊的网络软件,它的特殊性体现 在作为互联网入口所发挥的举足轻重的基础性作用上。
(1) 万维网的发明是世纪之交互联网呈指数级飞速增长(互联网大爆炸)
(4) Navigate方法
Navigate方法将指定的URL处的文档加载到WebBrowser控件中,替换上一 个文档。
语法:
public void Navigate(string urlString) urlString:要加载的文档的URL。 例如,通过Navigate方法打开指定的网站,代码如下: pageWebBrowser.Navigate("/index.htm");
7.1 Web浏览器概述
7.2 .NET对浏览器开发的支持
7.3 Web浏览器开发实战 7.4 Web浏览器增强功能展示
• 本章教学目的、要求
了解Web浏览器的结构和功能。
掌握WebBrowser控件、HttpWebRequest类、 HttpWebResponse类和Uri类的用法。 熟悉Web浏览器的制作。
在WebBrowser控件完成加载文档时发生 在DocumentTitle属性值更改时发生 在WebBrowser控件导航到新文档并开始加载该文档时发生 在WebBrowser控件导航到新文档之前发生 在浏览器新窗口打开之前发生 在WebBrowser控件已更新有关要导航到的文档的下载进度的 信息时发生 在Size属性值更改时发生 在StatusText属性值更改时发生
2. 方法 WebBrowser控件的常用方法及说明如表7-3所示。
方法 GoBack GoForward GoHome GoSearch Navigate Print Show ShowPageSetupDialog ShowPrintDialog ShowPrintPreviewDialog ShowPropertiesDialog ShowSaveAsDialog Stop SuspendLayout Refresh 说明 如果导航历史记录中上一页可用,则将WebBrowser控件导航到该页 如果导航历史记录中下一页可用,则将WebBrowser控件导航到该页 将WebBrowser控件导航到当前用户的主页 将WebBrowser控件导航到当前用户的默认搜索页 将指定位置的文档加载到WebBrowser控件中 使用当前打印和页面设置打印当前显示在WebBrowser控件中的文档 向用户显示控件 打开Internet Explorer的”页面设置”对话框 打开Internet Explorer的”打印”对话框,但不设置页眉或页脚值 打开Internet Explorer的”打印预览”对话框 打开当前文档的Internet Explorer”属性”对话框 打开Internet Explorer的”保存网页”对话框, 如果承载的文档不是HTML页, 则打开其”保存”对话框 取消所有挂起的导航并停止所有动态页元素(例如背景声音和动画) 临时挂起控件的布局逻辑 重新加载当前显示在WebBrowser控件中的文档
最早的浏览器是由万维网发明人蒂姆· 伯纳斯· 李(Tim Berners-Lee)于 1990年研制的WorldWideWeb。 到了1993年,第一个商品化的图形界面浏览器 Mosaic开发成功。从此人类信息社会进入了Web时代。 在上世纪90年代相当长的时间里,浏览器领域存在两大阵营:网景公司的 Netscape Navigator(网络航海家)和微软的Internet Explorer。 最终微软凭借 其Windows垄断地位,将Windows与IE捆绑销售,一举击败网景,到21世纪初 的时候,IE几乎占领了整个浏览器市场。
表7-6列出了WebRequest类的常用方法,由于HttpWebRequest类是抽象 类WebRequest的扩充类,所以在程序中可以通过HttpWebRequest类直接调用 这些方法。
方法 说明
GetRequestStream
返回将数据写入Internet资源的Stream, 提供对Stream的同步访问
相关主题