动态浏览

2024-07-11

动态浏览(通用3篇)

动态浏览 篇1

随着网络技术的发展,网页的实现语言也由最初静止的超文本标识语言(HTML)发展到了现在广泛使用的动态超文本标识语言(DHTML),由于标识语言中可以使用CSS(层叠式样式表单)、JavaScript和VBScript等脚本语言以及其他的一些外部COM控件因此其可编程能力得到大大的加强,尤其是Java语言的兴起更起到推波助澜的作用。由于Java是一种功能非常强大的网络语言,因此在网页设计时往往借助其来实现一些实现起来颇为复杂但却十分美观别致的网页特效。下面就对如何把实现起来较简单的用DHTML开发的网页特效移植到VC++下展开讨论。

1 DHTML实现的网页特效

编写网页的HTML/DHTML语言区别于以往的编程语言的一个最大特点就是源码公开,当看到一个好的网页时可以通过"查看源文件"看到是如何组织、设计该网页的,而且可以从代码级上对其进行分析。当看到其他一些好的应用程序时只能根据自己的编程经验和程序的实现功能来对程序的设计思路和实现方法进行猜测,而不少好的功能在无源码的情况下无法再次编程实现,而这些在网页设计上则不存在任何问题,可以通过参考他人写的比较好的代码来提高自己的设计水平。

众所周知,DHTML语言的实现可以通过CSS、各种脚本语言、控件和JavaApplet等予以实现,其中JavaApplet可以轻易设计出一些非常令人叹服的网页特效。为了说明如何在VisualC++6.0下实现动态HTML浏览视窗。这里举的例子是显示文字,也是Java中最基本的功能,使用非常简单的方式来支持文字的显示,只要使用类Graphics中的drawString()函数就能实现。

这是最基本的Java Applet,运行的时候仅显示“在Visual C++6.0下实现动态HTML浏览视窗!”。Java支持Unicode,因此中文也能在Java中很好地显示出来,如果无法正确显示,则是浏览器的Bug,如用的IE4.0就存在这样的问题,请改用Netscape或IE5.0以上版本。值得注意的是,在Java中每个字符用16位来表示,而不是8位,这与C语言是不同的。

2 在Visual C++中引入特效网页

用DHTML实现网页特效比较容易,那么可以设想:先通过DHTML做好一含有指定特效的网页,然后想办法把该网页通过编程的手段将其嵌入到VC++设计的程序中,即用混合编程的方法实现在VC++下的特效设计。

混合编程可以很好的把两种或更多语言的优点融合在一起,通过优势互补实现单一语言所不能实现的特殊功能。VC++凭借其强大的编程手段可以很好地同VB、Delphi甚至汇编进行混合编程,以期能达到最佳效果。对于HTML/DHTML语言,VC++6.0在MFC(微软基本类库)中提供有一个从CView派生出来的子类CHtmlView。在用VC++进行程序设计时可以将视类从CHtmlView中派生,以继承其对HTML/DHTML的支持特性,从而能很简便方式实现对网页的嵌入。

3 程序框架的建立

在建立程序框架时可以根据需要选取不同的形式,但必须保证在最后一步选则以CHtmlView为基类。如果没有选择,或要使已有程序具备上述功能也可以通过搜寻与替换将视类头文件和源文件中所有的CView替换成CHtmlView,使用下述的代码可以完成浏览Microsoft Visual C++r y dmu,并在视窗中将其显示,如同使用IE和其它浏览器一样。

当然为了将特效加入Visual C++程序中,必须将文件的路径参数传给Navigate与Navigate2函数,动态的HTML文档可以作为应用程序的资源,就如同菜单、对话框和图标一样,这样使得在应用程序中使用动态的HTML变得更加容易,可以用一个象征性的名字代替所要用的资源的路径和地址。

4 特效网页的嵌入

1)在资源树处单击右键,从菜单中选择插入项。

2)选择资源类型为HTML,单击New按钮关闭对话框。

3)一个空的HTML文档将会加到资源树中,当运行为了用IDC_VISUAL_LINKS资源,使用LoadFromResource函数,并将要装载的HTML资源的ID作为参数传给这个函数即可。编译和运行,HTML资源的内容将会显示到应用程序的视窗之中,经过DHTML网页嵌入后的VC++程序的运行效果,在程序中适当的应用网页特效可以起到美化界面,加强人机友好程度等较好的效果。

5 总结

通过对CHtmlView的派生继承实现了在VC++下嵌入DHTML语言,并可借助所嵌入的DHTML语言实现一些在VC++中难以做到的或是实现起来颇为复杂的特效,并以此丰富程序的人机界面。上述思想具有较好的通用性,程序在Windows XP下,由Microsoft Visual C++6.0编译通过,浏览器为IE 6.0。

参考文献

[1]康博创作室.Visual C++高级开发教程[M].北京:人民邮电出版社,1999.

[2]廖肇弘.Visual C++高级程序设计[M].北京:清华大学出版社,2005.

动态浏览 篇2

众所周知,Chrome浏览器拥有简洁的UI和丰富的扩展功能,深受广大网友的欢迎。同时由于目前众多浏览器都采用了谷歌采用了相同的内核,因此在功能上也大致相同,因此我们本页的浏览器使用技巧也主要将围绕Chrome浏览器进行汇总,下面我们就来看看这些技巧都是什么吧。

快速切换标签页

在使用浏览器浏览网页时,我们经常会打开众多网页,经常需要在不同的网页中进行切换,除了使用鼠标在标签页中进行点击切换外,还有两种快捷的方法。第一种方法就是按住Crtl键+你的浏览器中标签页的页数(以数字1开始,从左往右数),比如我们要切换到第3个标签页中,可以通过“Crtl+3”来完成快速切换。

第二种方法就是通过“Crtl+Tab”/“Ctrl PageDown”来进行从左往右的切换,此种方法适合打开网页过多,不确定要找的网页在第几页的情况下使用。同时还可以使用“Crtl+Shift+Tab”/“Ctrl PageUp”组合键进行从右往左进行快速切换。

此外,我们都知道在浏览网页时按“空格键”会起到与“PageDown”相同的效果,再次告诉广大网友按“空格键+Shift”组合键即可实现与“PageUp”相同的向上滚动网页的效果。

新标签页打开链接

?

在我们浏览网页的时候,经常会需要打开新的链接,但又不想关闭当前的标签页,这时,我们只需要按住,浏览器就会在后台新建立一个标签页。当然,我还可以通过点击鼠标中间的滚轮来实现此功能。

此外在我们浏览论坛内容时,如果我们直接点击论坛贴的标题时会在当前的标签页直接跳转到新帖的地址,不会保留当前网页,当我们想要以新标签页的形式打开想要浏览的帖子时只要点击帖子前面的置顶标示或者标签页的小标示就可以实现,经常逛论坛的朋友们应该比较熟了,在此告诉广大网友们此快速方法。

快速恢复关闭的标签页

我们在浏览网页时进场会打开若干个标签页,但是在关闭的时候有时候会因为手误点击错误,导致关闭了不想关闭的标签页,此时我们就不需要到浏览历史记录中查看刚才不小心关闭的网页了,只需要点机“Crtl+Shift+T”组合就能把刚才关闭的标签页快速恢复回来,我们可以连续使用这个功能追回多个被关闭的网页。

同时我们也可以在网页后退按钮上点击鼠标左键向下拖拽,即可显示出当前标签页所浏览过的网页,此方法适合在同一个标签页所浏览过的网页。

此外,我们可以通过在任务栏的浏览器图标,将鼠标左键在任务栏图标上往上滑,就会弹出一个具常访问网站、最近被关闭的网站的快捷条,也可以在此环节找到被关闭的网页。

多个标签页同时拉出新建窗口

平时我们应用多的就是将单个标签页拉出新建立一个窗口,但是有时候我们需要将多个标签页同时拉出新建立一个窗口,这时我们只需要按住“Shift”键,点击想要拉出的标签页,然后将多个标签页同时拖出即可。

调整网页内容显示大小比例

在我们使用浏览器的过程中,经常会遇到有些网页显示比例看起来很小的情况,尤其是在屏幕分辨率越来越高的情况下。这时,我们可以通过Crtl+“+”号组合键将网页的显示比例调大,相应的使用Crtl+“-”号组合键将网页的显示比例调小。同时,也可以通过按住Crtl+滚动鼠标滚轮的方式调整网页显示比例。

设置启动时打开的网页

当我们打开浏览器时,往往需要进行搜索或者打开每天固定浏览的网站,这时我们不用每天打开浏览器后再手动打开要访问的网站,只需要在浏览器的设置中添加自己需要访问的网站,这样浏览器在每次启动时都会自动打开你设定好的网站,不用每次手动打开,极为方便。

Chrome设置步骤:设置--启动时--打开特定网页会一组网页--设置网页。

地址栏、标题栏快速拖拽

当我们在浏览某个网页时,如果想要快速收藏某个网址,只需要在地址栏选中地址然后拖向收藏夹即可将该网址添加到收藏夹,淡然我们也可以通过网页右侧的五角星标示来快速收藏。

当我们在浏览网页时时常会遇到一些不懂或者想要搜索的词语,这时我们只需要在网页中将需要搜索的词语选中,然后拖向地址栏即可进行搜索,

当然,我们也可以在地址栏中直接输入想要搜索的内容即可进行搜素,不必单独打开搜索网站再次进行搜索。同时,如果不想失去当前浏览的网页,在搜索时可以按“Alt+Enter”组合键来新建立一个标签进行搜索。

通常情况下,谷歌浏览的默认搜索引擎是Google(国内暂时无法使用),所以我们最好先切换成百度或者其他搜索引擎使用。切换步骤:设置--搜索,选择其它想要使用的搜索引擎即可。

除此以外,Chrome浏览器的拖拽功能还很丰富,除了可以拖动文字内容外,还能够对对图片、链接、本地HTML等进行拖拽,非常方便。

同时,也提醒那些经常习惯于输入网址浏览网页的朋友们,在你们输入网址时只需要输入网址的域名,然后按“Crtl+Enter”组合键后网页将自动添加www.和.com前缀和后缀。

轻松应对网页弹窗

有些网站总会时不时的跳出一些广告弹窗,而在Chrome中是默认阻止弹窗跳出的,当然我们通过点击地址栏中最左端的书签页标示进行单独每个网站的权限管理,在此我们还能对图片、插件、通知、全屏等权限的管理。

此外,Chrome浏览器还能通过添加插件来实现各式各样的功能,非常实用,这也是笔者喜欢使用Chrome浏览器的一个重要的原因。

其它热门浏览器实用技巧

在介绍过Chrome浏览器的众多实用技巧之后,下面我们就来看看其他热门浏览器都有哪些使用技巧吧。下面我们就将360安全浏览器、搜狗浏览器、UC浏览器、遨游浏览器、火狐浏览器五个浏览器的特色功能进行汇总。

鼠标手势操作

360安全浏览器

在以上五款浏览器中除了火狐浏览器外,其它四款均支持鼠标手势操作,它们的功能大致相同,同样也能对预定的手势进行自定义功能,使用起来也较为流畅。

快速保存图片

360安全浏览器

在我们浏览网页时,想要保存一张网页图片到本地,经常是右击-图片另存为来实现图片保存,拥有此功能的浏览器有360安全浏览器和搜狗浏览器。

大图全屏浏览/保存网页所有图片

360安全浏览器

360安全浏览器在浏览大量图片的网站时可以弹出全屏浏览的提示,并且还能打包下载所有大图。当然,我们也可以对所谓的“大图”进行自定义尺寸,非常人性化。

智能网址预测

傲游浏览器

搜狗浏览器

很多浏览器都支持只能网址预测功能,同时遨游浏览器还支持自定义规则,可以将经常访问的网站添加别名,别名设置同时支持阿拉伯数字和汉字,自定义程度很高。支持此功能的浏览器有傲游浏览器、360安全浏览器、UC浏览器、搜狗浏览器。

?网页翻译

傲游浏览器

现在的浏览器基本上都可以实现网页翻译功能,但是上述五款浏览器都不能在原网页直接进行翻译,它们实现翻译的功能都是靠翻译插件来实现,因此想要翻译整个网页还需要新建立一个标签页来实现。

浏览器建立WiFi热点

UC浏览器

这功能之前一直被360和金山的安全卫士所热捧,现在UC浏览器支持建立WiFi热点功能,省去了下载各种小软件的功能。

标签云同步/多平台同步

360浏览器

谷歌的Chrome浏览器就支持这个功能,现在这个功能基本上所有的浏览器都可以实现,如果手机和PC端同时安装有某个品牌的浏览器,那么可以轻松同步收藏的网页,非常方便。

双内核切换

360安全浏览器

很多浏览器采用了IE内核与WebKit双内核设计,这样的好处是同时保留了WebKit的高速与IE的兼容性,两种内核并且可以随时进行切换,非常方便。支持双内核的浏览器有:360安全浏览器、搜狗浏览器、遨游浏览器、UC浏览器。

动态浏览 篇3

目前,嵌入式浏览器[1,2,3]广泛应用于Internet - TV、i DVD、Web终端、数字电视机顶盒、家庭网关、掌上电脑等各种信息电器和便携式网络终端中,其作为中间件,已不仅仅是用于门户导航,还承担互联网内容接收、用户交互( UI) 、视频业务导航、业务支撑等功能。

为了支持各种业务的快速部署以及各个组织定义的不同Java Script接口规范,浏览器必须扩展多个符合规范的Java Script接口,以提供给业务应用。为了实现扩展的Java Script接口,传统的设计方法是静态扩展Java Script接口,即在浏览器软件发布时,Java Script接口已确定,浏览器软件中包含完成实体功能的组件,浏览器内核扩展Java Script接口与具体组件的实现已绑定。由于嵌入式系统存储空间的限制,如果要开发新接口或者不同业务产品需要不同的Java Script接口组合,必须修改浏览器内核代码,新增、打开或关闭相关Java Script接口的绑定,然后重新编译测试后把浏览器运行库下载到机顶盒中。这种方法步骤繁琐,修改周期较长,无法对需求变化做出快速的响应,不同业务的组合,必须升级浏览器才能扩展新的业务功能,使得浏览器与具体业务捆绑,这不符合浏览器作为中间件进行快速业务开发的原则。

本文基于动态查找的方式设计了一种嵌入式浏览器扩展接口的方法,该方法独立于浏览器内核外实现了Java Script接口的扩展,并且动态查找加载组件,实际应用证明加速了第三方应用的开发和部署,减少浏览器静态扩展接口的工作量。

2 浏览器静态扩展Java Script接口过程

图1 为浏览器通常扩展Java Script的方式,即静态扩展Java Script接口的过程。

浏览器静态扩展Java Script接口的过程主要包括以下步骤:

(1)根据扩展的Java Script接口定义新的接口文件;

(2)使用Web引擎提供的工具生成Java Script引擎所需的绑定文件,根据引擎和引擎开发语言的不同,可能有不同的结果,这些绑定文件就是将Java Script引擎的调用转换成具体的实现类的调用,例如负责转接扩展对象属性或方法的C ++ 代码;

(3)绑定文件调用接口扩展模块;

(4)接口扩展模块通过组件接口直接调用组件具体实现的代码;

(5)编译时需包含组件库代码。

3 基于动态查找的嵌入式浏览器扩展接口方法

从浏览器静态扩展Java Script接口的过程可以发现,使用静态扩展Java Script接口的方法必须在代码编译前确定好Java Script接口,且编译时需包含组件库的实体实现代码,这种情况下对于不同Java Script接口需求需要进行不同的编译,步骤繁琐,修改周期较长,无法对需求变化做出快速的响应,不同业务的组合必须升级浏览器才能扩展新的业务功能,使得浏览器与具体业务捆绑,这不符合浏览器作为中间件进行快速业务开发的原则。

本文提出了基于动态查找的嵌入式浏览器扩展接口方法,包含接口扩展框架、通用接口扩展模块、组件库管理模块、组件库客户端四个模块。下面具体详述各部分内容。

3. 1 接口扩展框架

接口扩展框架是使用Java Script编写的文件,用于将业务Java Script接口转换为通用Java Script扩展接口,浏览器内核只需扩展通用Java Script扩展接口即可查找到相应的组件库实体,通用Java Script扩展接口的输入参数是业务Java Script接口的名字、指令和输入参数。

3. 2 通用接口扩展模块

通用接口扩展模块属于浏览器内核Web Core,使用静态扩展Java Script接口的方式扩展了通用Java Script扩展接口,并使用通用接口调用组件管理模块来动态查找组件库及运行相应接口。

3. 3 组件库管理模块

组件库管理模块属于浏览器内核,是新增的模块,包含组件库载入管理器和组件库接口调用器。组件库载入管理器用于在访问业务网页时使用业务Java Script接口的名字在指定目录下查找动态库是否存在组件库载入接口。组件库载入接口是预先定义的与业务接口名相关的接口。如果找到则将组件库加载到内存中,组件库接口调用器创建组件库实例,然后调用组件实例的相应接口。组件库管理模块的代码与组件库代码不直接进行绑定,即编译时不需要包含,而是运行时进行动态查找和加载组件。

3. 4 基于动态查找的嵌入式浏览器扩展接口的过程

基于动态查找的嵌入式浏览器扩展接口主要过程如图2 所示。

基于动态查找的嵌入式浏览器扩展接口方法过程具体包含以下步骤:

(1)业务网页中调用业务Java Script接口,如果发现浏览器不支持该接口调用接口扩展框架,接口扩展框架中使用通用Java Script接口扩展了业务接口;

(2)通用Java Script接口为静态扩展接口方式扩展的接口,在内核绑定文件中使用通用接口模块进行实现;

(3)通用接口模块通过通用接口调用组件库接口调用器;

(4)组件库接口调用器从组件库载入管理器中查找该组件库是否已载入到内存,如果没有载入到内存,转到步骤5,如果已载入到内存,转到步骤6;

(5)使用业务Java Script接口的名字在指定目录下查找动态库是否存在组件库载入接口,如果找到则将组件库加载到内存中,否则返回错误;

(6)组件库接口调用器获取到组件库实例;

(7)调用组件实例的相应接口。

4 应用实例

下面通过一个应用实例对本方法做进一步阐述。

4. 1 实例环境

应用实例中的操作系统为嵌入式Linux操作系统,业务为符合广电NGB - H中媒体处理单元的应用,媒体处理单元的核心接口是名为Media Player的Java Script对象,该对象在HTML标准中未实现,需要浏览器扩展。

4. 2 实例实现

为了支持广电总局NGB - H规范中的媒体处理单元对象,采用如图3 所示的过程实现动态扩展接口并查找媒体处理单元组件库。

( 1) 在浏览器内核中使用静态扩展的方式扩展通用扩展接口call App,输入参数为Java Script对象名、指令( 即对象的属性和方法) 、参数,浏览器在发布时,就具有了开放式的动态管理接口,具有动态扩展的能力;

( 2) 在接口扩展框架中使用通用扩展接口call App实现Media Player对象及其方法,比如Media Player对象的创建则将Media Player名称和new指令作为参数;

( 3) 组件库扩展名为Get Mediaplayer Client的组件库载入接口,该接口用于创建组件库对象实例;

( 4) 当访问业务页面时,发现DOM并没有实现Media Player对象,则通过接口扩展框架调用call App接口;

( 5) 通用接口模块使用带接口名的Get Mediaplayer Client调用组件库接口调用器;

( 6) 组件库接口调用器从组件库载入管理器中查找带Get Mediaplayer Client名的组件库是否已载入到内存,如果没有载入到内存,转到步骤7,如果已载入到内存,转到步骤8;

( 7) 在指定目录下使用dlsym查找动态库是否存在组件库载入接口,即Get Mediaplayer Client接口,如果找到则将组件库加载到内存中,否则返回错误;

( 8) 组件库接口调用器获取到组件库实例;

( 9) 当业务页面运行到Media Player的play接口时,组件库接口调用器直接调用组件实例的相应play接口。

5 结束语

本文提出的基于动态查找的嵌入式浏览器扩展接口的方法,业务功能更新时,无需将业务与浏览器内核引擎绑定,接口的扩展无需再修改浏览器,业务扩展方便,升级快、部署快。此外,此方法动态加载组件库,减少了资源耗费,适用于嵌入式浏览器系统。

摘要:面向数字电视的嵌入式浏览器通常向业务开发者提供具备本地功能的JavaScript接口开发业务,在浏览器实现时多采用静态扩展接口、将组件库与浏览器一起编译链接的方式,该方法易造成嵌入式浏览器冗余、不灵活等问题。为解决此问题,本文设计了一种基于动态查找的嵌入式浏览器扩展接口的方法。该方法中设计了接口扩展框架、通用接口扩展模块、组件库管理模块和组件库客户端,定义了通用JavaScript接口、通用接口和组件库载入接口,独立于浏览器内核外实现了浏览器动态扩展接口、动态查找组件并绑定组件功能。此方法经实践证明可加速第三方应用的开发和部署,减少了浏览器静态扩展接口和绑定组件库的工作量,并降低了资源消耗。

关键词:嵌入式浏览器,组件加载,JavaScript接口

参考文献

[1]PENGYe.Research on Mobile Browser’s Model and Evaluation[C]//Web Society(SWS),2010 IEEE 2nd Symposium.IEEE,2010.

[2]王静.基于嵌入式Linux的IPTV机顶盒浏览器的研究与实现[J],计算机与现代化,2012,(1):203-206

[3]张云蛟.基于IPTV嵌入式浏览器功能扩展的研究与设计[D],成都:电子科技大学,2014.

[4]Taeho Kwon,Student Member,IEEE,and Zhendong Su.Automatic Detection of Unsafe Dynamic Component Loadings[J],IEEE TRANSACTIONS ON SOFTWARE ENGINEERING,2011,38(2):293-313

[5]W3C.HTML5[EB/OL].[2014-10-28].http://www.w3.org/TR/html5/.

[6]Web Kit.org.Web Kit[EB/OL].[2015-05-29].http://www.webkit.org/.

上一篇:材料类人才下一篇:接收性能