CN102981844A - 对网页主体元素进行处理的浏览器及方法 - Google Patents
对网页主体元素进行处理的浏览器及方法 Download PDFInfo
- Publication number
- CN102981844A CN102981844A CN201210453663XA CN201210453663A CN102981844A CN 102981844 A CN102981844 A CN 102981844A CN 201210453663X A CN201210453663X A CN 201210453663XA CN 201210453663 A CN201210453663 A CN 201210453663A CN 102981844 A CN102981844 A CN 102981844A
- Authority
- CN
- China
- Prior art keywords
- dom
- main element
- dom object
- webpage main
- webpage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了对网页主体元素进行处理的浏览器,浏览器侧设置有网页背景图片信息,包括:至少一个网页主体元素的DOM对象处理模块,每个DOM对象处理器存储有对网页主体元素的定制处理;页面解析模块,在浏览器侧加载获取页面,对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象;DOM处理模块,调用设置的至少一个网页主体元素的DOM对象处理模块对转换的DOM对象进行设置的定制处理,该定制处理中依据设置的网页背景图片信息对当前页面的网页主体元素进行设置;渲染处理模块,对完成网页主体元素定制处理的DOM树进行渲染处理。采用本发明能够对网页主体元素根据用户需求进行定制处理。本发明还公开了相应的方法。
Description
技术领域
本发明涉及网络应用领域,尤其是涉及一种对网页主体元素进行处理的浏览器以及一种在浏览器侧对网页主体元素进行处理的方法。
背景技术
随着国际互联网的快速发展,基于国际互联网的应用和信息也呈现出爆发性的增长。网络浏览器为互联网用户提供了一种访问网络信息和使用网络应用的方式,该方式适用性强,越多越多的用户已经习惯于通过网络浏览器来获取各种信息和使用各种应用。网络信息和应用供应商提供以诸如HTML(超文本标记语言,Hypertext MarkupLanguage)之类格式的语言编写的网页,网络浏览器在用户处呈现这些网页,从而使得网络浏览器的用户可以获取相关信息。随着网络技术的快速发展,由网络浏览器呈现的内容也越来越丰富,因此网络浏览器的呈现功能也越来越强大和重要。目前常见的网页浏览器有微软公司的Internet Explorer、Mozilla Firefox、谷歌公司的Chrome、Opera以及苹果公司的Safari等等。
在相关技术中,网络浏览器利用渲染引擎(Rendering Engine)来解释网页中的内容(如HTML、JavaScript)并渲染(显示)网页。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的渲染引擎对网页编写语法的解释也有不同,因此同一网页在不同渲染引擎的浏览器里的渲染(显示)效果也可能不同。
目前网页浏览器的渲染引擎通过将HTML中的各个元素以及j s代码转换成DOM模型来进行渲染。在进行转换时,整个HTML文档被构建DOM树,HTML中的各元素被转换成DOM树中的对象,而对象之间的关系被构造为节点和子节点之间的关系来构造,通过使用有关对象的方法,可以对这些对象进行寻址和操作。DOM模型已经具有很多公共的规范和定义。
当网页浏览器处理HTML页面时,浏览器中的渲染引擎对HTML页面语言进行分析,将其处理为DOM模型,随后利用DOM模型来构造用于在浏览器中显示页面的内部结构。DOM API还向js代码提供了监控或者修改网页的接口。
渲染引擎引入了基于事件的机制来处理DOM对象。每个DOM对象具有相关联的多个事件,并且这些事件可以被触发。例如,渲染引擎分析网页中的JS代码,并且将相应JS代码和事件相关联,从而使得到特定事件被触发时,执行相应的JS代码。
然而,在目前的网页浏览器中,渲染引擎通常仅仅根据HTML网页中的JS代码来控制相应DOM对象,因此,用户使用浏览器时很难对DOM对象,即网页中的各个元素进行定制渲染。
综上可知,现在的网络浏览器在呈现网页时,通常根据网络应用和信息提供商所要求的方式来呈现网页内容,而并未充分考虑用户对页面呈现方式的偏好。因此现有的网络浏览器虽然具有不同的渲染引擎,当其呈现效果基本相同。
特别是对于网页背景而言,现有技术中,网页背景等可以在网页的主体(<body>)单元中设置。目前网络内容提供商利用body元素设置一些网页的基本信息,但是用户在浏览页面时,如同使用计算机的桌面一样,希望能够设置自己的页面背景。但是现有的浏览器中,网页背景无法根据用户的需求设置,用户无法充分个性化定制网络浏览器呈现的背景内容,降低用户的感受体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对网页主体元素进行处理的浏览器和相应的对网页主体元素进行处理的方法。
依据本发明的一个方面,提供了一种对网页主体元素进行处理的浏览器,该浏览器侧设置有网页背景图片信息,该浏览器包括:
至少一个网页主体元素的DOM对象处理模块,其中每个DOM对象处理模块配置为存储有对网页主体元素的定制处理;
页面解析模块,配置为在所述浏览器侧加载获取页面,并对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象;
DOM处理模块,配置为调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理,该定制处理中依据所述设置的网页背景图片信息对当前页面的网页主体元素进行设置;
渲染处理模块,配置为对完成网页主体元素定制处理的DOM树进行渲染处理。
可选地,所述DOM处理模块还配置为:
从所述转换的DOM对象中获取用户设置的网页主体元素的背景信息;
根据所述用户设置的背景信息的解析结果,调用相应的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
可选地,所述背景信息包括背景图像列表。
可选地,部分DOM对象处理模块被配置为存储所述背景图像列表中的至少一幅图像;
此时,所述DOM处理模块还配置为调用该部分DOM对象处理模块对页面的背景图像进行更改。
可选地,所述DOM处理模块更改背景图像的顺序包括下列任意之
根据所述背景图像列表顺序更改;
根据所述背景图像列表逆序更改;
根据所述背景图像列表循环更改;
根据所述背景图像列表任意顺序更改。
可选地,上述浏览器还包括获取模块,配置为从浏览器侧获取图像变化顺序的脚本进程;此时,
所述DOM处理模块还配置为根据所述脚本进程,调用所述网页主体元素的背景图像按照背景图像列表的顺序相应变化。
可选地,上述浏览器还包括:
查询模块,配置为从对象处理注册表中查询所述浏览器中是否存在对所述网页主体元素进行处理的DOM对象处理模块,其中,所述对象处理注册表中登记所述至少一个DOM对象处理模块。
可选地,所述DOM处理模块还配置为在所述网页主体元素加载完成时触发的ContentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
可选地,所述DOM处理模块还配置为在网页文件加载完成时触发的DocumentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
可选地,所述浏览器为IE浏览器时,所述网页主体元素存储在body元素中。
依据本发明的另一个方面,提供了一种对网页主体元素进行处理的方法,在浏览器中设置有网页背景图片信息,且在浏览器侧设置至少一个网页主体元素的DOM对象处理器,其中每个DOM对象处理器配置为存储有对网页主体元素的定制处理,包括:
在所述浏览器侧加载获取页面,并对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象;
调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,该定制处理中依据所述设置的网页背景图片信息对当前页面的网页主体元素进行设置;
对完成网页主体元素定制处理的DOM树进行渲染处理。
可选地,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,包括:
从所述转换的DOM对象中获取用户设置的网页主体元素的背景信息;
根据所述用户设置的背景信息的解析结果,调用相应的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
可选地,所述背景信息包括背景图像列表。
可选地,当部分DOM对象处理器中存储所述背景图像列表中的至少一幅图像时,
调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,包括:调用该部分DOM对象处理器对页面的背景图像进行更改。
可选地,所述背景图像的更改顺序包括下列任意之一:
根据所述背景图像列表顺序更改;
根据所述背景图像列表逆序更改;
根据所述背景图像列表循环更改;
根据所述背景图像列表任意顺序更改。
可选地,上述方法还包括:
从浏览器侧获取图像变化顺序的脚本进程;
根据所述脚本进程,调用所述网页主体元素的背景图像按照背景图像列表的顺序相应变化。
可选地,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理之前,包括:
从对象处理注册表中查询所述浏览器中是否存在对所述网页主体元素进行处理的DOM对象处理器,其中,所述对象处理注册表中登记所述至少一个DOM对象处理器。
可选地,在所述网页主体元素加载完成时触发的ContentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
可选地,在网页文件加载完成时触发的DocumentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
可选地,所述浏览器为IE浏览器时,所述浏览器所在的客户端在WebBrowser插件设置第一接口IElementBehaviorFactory、第二接口IElementBehavior、第三接口IDocHostUIHandler以及第四接口IElementBehaviorSite,其中,所述第一接口和所述第二接口用于调用各DOM对象处理器,所述第三接口用于将各DOM对象处理器注册到所述对象处理注册表中,所述第四接口与客户端关联;
调用所述设置的至少一个网页主体元素的DOM对象处理器,包括:
内核引擎通过第一接口调用行为查询方法,询问客户端关于M_BODY的第二接口,并提供所述第四接口与之关联,接收客户端返回的对象实例;
所述内核引擎在加载网页主体元素时,调用元素行为通知方法,通知客户端页面元素的加载状态。
在本发明实施例中,对于网页主体元素解析出的每个DOM对象,在网络侧设置对其进行定制处理的DOM对象处理模块,在页面的获取过程中,利用调用的DOM对象处理模块对DOM对象进行设置的定制处理。由于至少一个DOM对象处理模块可以存储至少一种定制处理方式,因此,可以对网页主体元素进行至少一种处理,进而可以调整网页主体元素中不同元素呈现不同状态。由此可见,采用本发明实施例提供的对网页主体元素进行处理的浏览器,能够对网页主体元素中的不同DOM对象分别进行处理,由此呈现的网页主体元素可以实现个性化定制处理,例如,设置不同的背景图像。保证了网页主体元素并非是根据网络应用和信息提供商所要求的固定方式,进而实现了用户能够对网页主体元素呈现的内容进行个性化定制的目的,满足不同的用户的偏好,提高用户的感受体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的对网页主体元素进行处理的浏览器的结构示意图;
图2示出了根据本发明一个实施例的对网页主体元素进行处理的方法的流程图;以及
图3示出了根据本发明一个实施例的对网页主体元素进行处理的浏览器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决本发明背景技术中提及的技术问题,本发明实施例提供了一种对网页主体元素进行处理的浏览器,该浏览器侧设置有网页背景图片信息。图1示出了根据本发明的一个实施例的对网页主体元素进行处理的浏览器的结构示意图。该浏览器包括至少一个密码输入框元素的DOM对象处理模块110、页面解析模块120、DOM处理模块130以及渲染处理模块140。现对浏览器包括的各模块的功能进行详细说明。
首先介绍至少一个网页主体元素的DOM对象处理模块。DOM对象处理模块的数量为至少一个,且预先设置在浏览器侧,在每个DOM对象处理模块中存储有对网页主体元素的定制处理。DOM对象处理模块的数量可以是1个,也可以是2个,也可以是3个、4个、5个或更多,具体的数量根据特定DOM对象的数量以及定制处理的数量决定。图1中为了示意,将其设置为3个。
其次,介绍页面解析模块120。在对获取的一个页面进行处理时,页面解析模块120在浏览器侧加载获取页面。考虑到页面及页面元素并不能够直接进行处理,因此,页面解析模块120需要对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象,以供后续的DOM模块130进行处理。
然后,介绍DOM处理器130。参见图1,DOM处理模块130一端耦接到页面解析模块120,另一端耦接到在浏览器侧预设置的至少一个密码框元素的DOM对象处理模块110。当对网页主体元素的解析及转换操作结束后,DOM处理模块130会调用设置的至少一个网页主体元素的DOM对象处理模块110对转换的DOM对象进行设置的定制处理,该定制处理中依据设置的网页背景图片信息对当前页面的网页主体元素进行设置。
最后,介绍渲染处理模块140。参见图1,渲染处理模块140耦接到DOM处理模块130。在DOM处理模块130的定制处理操作结束后,经过处理的DOM对象会形成DOM树,然后由渲染处理模块140对完成网页主体元素定制处理的DOM树进行渲染处理。
在本发明实施例中,对于网页主体元素解析出的每个DOM对象,在网络侧设置对其进行定制处理的DOM对象处理模块,在页面的获取过程中,利用调用的DOM对象处理模块对DOM对象进行设置的定制处理。由于至少一个DOM对象处理模块可以存储至少一种定制处理方式,因此,可以对网页主体元素进行至少一种处理,进而可以调整网页主体元素中不同元素呈现不同状态。由此可见,采用本发明实施例提供的对网页主体元素进行处理的浏览器,能够对网页主体元素中的不同DOM对象分别进行处理,由此呈现的网页主体元素可以实现个性化定制处理,例如,设置不同的背景图像。保证了网页主体元素并非是根据网络应用和信息提供商所要求的固定方式,进而实现了用户能够对网页主体元素呈现的内容进行个性化定制的目的,满足不同的用户的偏好,提高用户的感受体验。
为达到根据用户的需求选择不同的背景信息的目的,DOM处理模块130可以从转换的DOM对象中获取用户设置的网页主体元素的背景信息。然后,根据用户设置的背景信息的解析结果,DOM处理模块130调用相应的DOM对象处理模块对转换的DOM对象进行设置的定制处理。
本实施例中提及的背景信息包括多种类型,例如,可以包括背景图像列表,还可以包括背景音乐列表,还可以包括背景视频列表,等等。本文中以背景图像列表为例进行说明。背景图像列表是由多幅图像组成,对各幅图像进行了编码以及相应的排序,便其显示和调用更为方便。
当背景信息为背景图像列表时,部分DOM对象处理模块110中存储背景图像列表中的至少一幅图像。相应的,此时,DOM处理模块130还配置为会调用该部分DOM对象处理模块110对页面的背景图像进行更改。由于不同的DOM对象处理模块110中存储不同的背景图像,则调用不同的DOM对象处理模块时,生成的背景图像也不同,因此,可以实现根据用户的需求修改背景的目的。
上文提及,DOM处理模块130通过调用不同的DOM对象处理模块110实现背景图像的更改。那么,需要说明的是,DOM处理模块130更改背景图像的顺序可以遵循一定的顺序,例如,可以根据背景图像列表顺序更改,也可以根据背景图像列表逆序更改,还可以根据背景图像列表循环更改,以及根据背景图像列表任意顺序更改。具体的更改顺序由用户指定。多种更改方式也进一步显示了本发明实施例中背景图像的可设置性。
图像变化的顺序可以预先以脚本进程的形式设置在浏览器侧。为获取该脚本进程,参见图1,浏览器中还设置获取模块150,利用该获取模块150从浏览器侧获取图像变化顺序的脚本进程。此时,DOM处理模块130根据获取模块150获取的脚本进程,得到图像变化的顺序,进而调用网页主体元素的背景图像按照背景图像列表的顺序相应变化。
其中,对于DOM对象处理模块110的调用操作,DOM处理模块130需要知道每个DOM对象处理模块110的地址,进而进行相应的调用,若DOM对象处理模块较多且存储地址相对分散的情况下,DOM处理模块130的调用就会存在一定的难度。现提供一种优选的调用方式,本例中,设置对象处理注册表,在该表格中登记所有的DOM对象处理模块的登记信息,此处的登记信息可以包括各DOM对象处理模块的存储地址、每个DOM对象处理模块的定制操作、是否正在被调用等等。相应的,参见图1,本发明实施例提供的对页面密码框进行处理的浏览器还包括查询模块160。该查询模块160与DOM处理模块130耦合,从对象处理注册表中查询浏览器中是否存在对网页元素元素进行处理的DOM对象处理模块。查询结束后,查询模块160将查询结果通知DOM处理模块130,而DOM处理模块130会根据查询结果调用相应的DOM对象处理模块110。
对于每个DOM对象,都存在有至少两个事件,一个是该DOM对象已经加载完成时触发的事件ContentReady,另一个是整个HTML都已经加载完成时触发的事件DocumentReady。由于本发明实施例涉及对网页主体元素进行处理,因此仅仅涉及该DOM对象已经加载完成时触发的事件ContentReady,DOM处理模块130会调用设置的至少一个网页主体元素的DOM对象处理模块110对转换的DOM对象进行设置的定制处理。进一步,本发明实施例提供的至少一个DOM处理模块130中还可以在网页文件加载完成时触发的DocumentReady事件时,调用设置的至少一个网页主体元素的DOM对象处理模块110对转换的DOM对象进行设置的定制处理。
优选的,当浏览器为I E浏览器时,网页主体元素可以存储在body元素中。
上述的对页面文本框进行处理的浏览器的各部分构架是根据其功能提供的,实际构架并不仅限于上述各部分,还可以包括其他部分、模块、器件等。
图2示出了根据本发明一个实施例的浏览器处理网页主体元素的方法的处理流程图。本例中,在浏览器中设置有网页背景图片信息,且在浏览器侧设置至少一个网页主体元素的DOM对象处理器,其中每个DOM对象处理器配置为存储有对网页主体元素的定制处理。该方法包括步骤S202至步骤S206。
步骤S202、在浏览器侧加载获取页面,并对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象。
步骤S 204、调用设置的至少一个网页主体元素的DOM对象处理器对转换的DOM对象进行设置的定制处理,该定制处理中依据设置的网页背景图片信息对当前页面的网页主体元素进行设置。
步骤S 206、对完成网页主体元素定制处理的DOM树进行渲染处理。
在本发明实施例中,对于网页主体元素解析出的每个DOM对象,在网络侧设置对其进行定制处理的DOM对象处理器,在页面的获取过程中,利用调用的DOM对象处理器对DOM对象进行设置的定制处理。由于至少一个DOM对象处理器可以存储至少一种定制处理方式,因此,可以对网页主体元素进行至少一种处理,进而可以调整网页主体元素中不同元素呈现不同状态。由此可见,采用本发明实施例提供的对网页主体元素进行处理的方法,能够对网页主体元素中的不同DOM对象分别进行处理,由此呈现的网页主体元素可以实现个性化定制处理,例如,设置不同的背景图像。保证了网页主体元素并非是根据网络应用和信息提供商所要求的固定方式,进而实现了用户能够对网页主体元素呈现的内容进行个性化定制的目的,满足不同的用户的偏好,提高用户的感受体验。
需要说明的是,本流程中的DOM对象处理器与前文所提及的DOM对象处理模块的功能是相类似的,因前文涉及浏览器的架构,因此将其称为DOM对象处理模块。而本流程中仅涉及DOM对象处理器一个部件,因此,无须将其称之为模块,后文不再赘述。
参见图2,步骤S204在实施时提及调用设置的至少一个网页主体元素的DOM对象处理器对转换的DOM对象进行设置的定制处理。优选地,可以从转换的DOM对象中获取用户设置的网页主体元素的背景信息。进而,根据用户设置的背景信息的解析结果,调用相应的DOM对象处理器对转换的DOM对象进行设置的定制处理。
其中,本实施例中提及的背景信息包括多种类型,例如,可以包括背景图像列表,还可以包括背景音乐列表,还可以包括背景视频列表,等等。本文中以背景图像列表为例进行说明。背景图像列表是由多幅图像组成,对各幅图像进行了编码以及相应的排序,便其显示和调用更为方便。
当背景信息为背景图像列表时,可以在部分DOM对象处理器中存储背景图像列表中的至少一幅图像。相应的,调用设置的至少一个网页主体元素的DOM对象处理器对转换的DOM对象进行设置的定制处理,包括:可以调用该部分DOM对象处理器对页面的背景图像进行更改。
上文提及,可以通过调用不同的DOM对象处理器实现背景图像的更改。那么,需要说明的是,更改背景图像的顺序可以遵循一定的顺序,例如,可以根据背景图像列表顺序更改,也可以根据背景图像列表逆序更改,还可以根据背景图像列表循环更改,以及根据背景图像列表任意顺序更改。具体的更改顺序由用户指定。多种更改方式也进一步显示了本发明实施例中背景图像的可设置性。
图像变化的顺序可以预先以脚本进程的形式设置在浏览器侧。从浏览器侧获取图像变化顺序的脚本进程。然后根据获取的脚本进程,得到图像变化的顺序,进而调用网页主体元素的背景图像按照背景图像列表的顺序相应变化。
其中,对于DOM对象处理器的调用操作,需要知道每个DOM对象处理器的地址,进而进行相应的调用,若DOM对象处理器较多且存储地址相对分散的情况下,其调用就会存在一定的难度。现提供一种优选的调用方式,本例中,设置对象处理注册表,在该表格中登记所有的DOM对象处理器的登记信息,此处的登记信息可以包括各DOM对象处理器的存储地址、每个DOM对象处理器的定制操作、是否正在被调用等等。相应的,参见图1,本发明实施例提供的对网页主体元素进行处理的浏览器从对象处理注册表中查询浏览器中是否存在对网页主体元素进行处理的DOM对象处理器。查询结束后,会根据查询结果调用相应的DOM对象处理器。
对于每个DOM对象,都存在有至少两个事件,一个是该DOM对象已经加载完成时触发的事件ContentReady,另一个是整个HTML都已经加载完成时触发的事件DocumentReady。由于本发明实施例涉及对网页主体元素进行处理,因此仅仅涉及该DOM对象已经加载完成时触发的事件ContentReady,可以调用设置的至少一个网页主体元素的DOM对象处理器对转换的DOM对象进行设置的定制处理。进一步,本发明实施例还可以在网页文件加载完成时触发的DocumentReady事件时,调用设置的至少一个网页主体元素的DOM对象处理器对转换的DOM对象进行设置的定制处理。
实施例一
本发明实施例中提及到的浏览器可以为多种,例如微软公司的Internet Explorer(简称IE)、Mozilla Firefox、谷歌公司的Chrome、Opera以及苹果公司的Safari等等。
现以IE浏览器为例对本发明实施例提供的文本框元素的具体处理方法进行详细地阐述和说明。
对于针对每个网页元素的特定处理,可能需要实现
IElementBehavior(元素行为)
Implementing the IElementBehavior Interface(执行元素行为接口)
Implementing the Notify Method(执行通知方法)
Implementing the Init Method(执行初始化方法)
Implementing the Detach Method(执行分离方法)
IElementBehaviorFactory(元素行为工厂行为)
IElementNamespaceFactory(元素命名空间工厂接口)
IElementNamespaceFactoryCallback(元素命名空间回调接口)
初始化设置后,IE浏览器中的客户端WebBrowser(网络浏览器)插件实现网页元素的具体处理步骤如下:
步骤1、客户端WebBrowser插件实现IElementBehaviorFactory接口。
步骤2、客户端WebBrowser插件实现IDocHostUIHandler接口。
注:这里的WebBrowser插件就是在针对特定DOM对象的特定处理器在IE中的具体实施方式,实现IDocHostUIHandler接口用于把特定处理器注册到对象注册表中由DOM处理器采用,实现IElementBehaviorFactory和IElementBehavior接口用于说明具体的定制处理实现。
步骤3、页面创建时,MSHTML会调用IDocHostUIHandler的GetHostInfo方法,客户端程序向MSHTML提供页面元素TAG及对应的Behavior Name。
注:MSHTML对应于内核引擎,这个步骤对应于DOM处理器查询所有的DOM对象处理器列表。
步骤4、页面加载时,MSHTML会根据以上提供的Behavior Name,逐个调用IElementBehaviorFactory的FindBehavior方法,由客户端提供关于M_BODY的IElementBehavior接口实现。
此处,优选的,并与页面提供的对应接口IElementBehaviorSite关联,以确定是否定制行为。
步骤5、MSHTML在加载BODY元素时,调用网页主体元素行为通知方法,向页面***对象(OBJECT)元素,播放MP3或FLASH。
注:网页主体行为通知方法在IE中实现可利用CBodyIElementBehavior::Notify方法。
其中,可以创建定时器,轮播背景图。
其中,值得注意的是,步骤4和步骤5对应于DOM处理模块调用相应的DOM对象处理器对DOM对象进行处理。
本实施例的方法并不仅限IE浏览器,对于其他浏览器,其实现方式是相类似的。
实施例二
本实施例提供了对网页主体元素进行处理的具体方法。
在页面加载之前,获取用户设置的背景信息,包括背景图像列表、背景音乐列表等。
进一步,在加载页面时,获取body元素中的背景(background)设置,将其修改为显示背景图像列表中的第一张图。
然后,在body元素中设置背景音乐。
最后,设置js代码,使得body元素的背景图像根据列表内容变化。
实施例三
上文描述的是直接对网页主体元素进行处理,众所周知,浏览器的页面元素有多种,浏览器需要对每个页面元素均进行转换及处理,然后将处理后的页面元素进行渲染,才生成呈现的网页。
图3示出了根据本发明一个实施例的进行页面元素处理的浏览器的结构示意图。参见图3,该浏览器包括设置在浏览器侧的至少一个DOM对象处理器310,页面解析器320以及DOM处理器330。
其中,DOM对象处理器310包括至少一个,且预先设置在浏览器侧,在每个DOM对象处理器310中存储有特定DOM对象的定制处理。DOM对象处理器的数量可以是1个,也可以是2个,也可以是3个、4个、5个或更多,具体的数量根据特定DOM对象的数量以及定制处理的数量决定。图3中为了示意,将其设置为3个。
在对获取的一个页面进行处理时,页面解析器320在浏览器侧加载该获取页面,并对获取页面的页面元素进行解析。考虑到页面以及页面元素并不能够直接进行处理,因此,页面解析器320在解析过程中将各页面元素转换为DOM对象,以供后续DOM处理器330处理。
参见图3,DOM处理器330,耦接到页面解析器320和至少一个DOM对象处理器310。当页面解析器320解析结束后,启动DOM处理器330。DOM处理器330在转换的DOM对象中选择至少一个作为当前准备处理的DOM对象,调用设置的至少一个DOM对象处理器310,对选择出的DOM对象进行设置的定制处理。
参见图3,该浏览器还包括树生成器330,耦接到DOM处理器330。当DOM处理器330调用DOM对象处理器310,对DOM对象进行定制处理结束后,树生成器330利用经过设置的定制处理的DOM对象生成最终的DOM树,并对DOM树进行渲染。
而网页主体元素是页面元素的一种,因此,当页面元素为网页主体元素时,利用浏览器进行页面元素处理的装置可以直接对网页主体元素进行处理,其选择的DOM对象处理器存储的定制处理方式是针对网页主体元素的定制处理即可。也就是说,本例中,参见图3,其选择的DOM对象处理器310应该是网页主体元素的DOM对象处理器310。其他各部件的功能维持不变。
本例中,页面解析器320与在前的实施例中的页面解析模块120的功能相类似,均是将相应的元素转换为DOM对象。而DOM处理器330与在前的实施例中的DOM处理模块130的功能相类似,调用相应的DOM对象处理模块(或DOM对象处理器),对当前DOM对象进行相应处理。
采用本发明提供的浏览器和相应的处理方法,能够达到如下有益效果:
在本发明实施例中,对于网页主体元素解析出的每个DOM对象,在网络侧设置对其进行定制处理的DOM对象处理模块,在页面的获取过程中,利用调用的DOM对象处理模块对DOM对象进行设置的定制处理。由于至少一个DOM对象处理模块可以存储至少一种定制处理方式,因此,可以对网页主体元素进行至少一种处理,进而可以调整网页主体元素中不同元素呈现不同状态。由此可见,采用本发明实施例提供的对网页主体元素进行处理的浏览器,能够对网页主体元素中的不同DOM对象分别进行处理,由此呈现的网页主体元素可以实现个性化定制处理,例如,设置不同的背景图像。保证了网页主体元素并非是根据网络应用和信息提供商所要求的固定方式,进而实现了用户能够对网页主体元素呈现的内容进行个性化定制的目的,满足不同的用户的偏好,提高用户的感受体验。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器进行页面元素处理的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (20)
1.一种对网页主体元素进行处理的浏览器,该浏览器侧设置有网页背景图片信息,该浏览器包括:
至少一个网页主体元素的DOM对象处理模块,其中每个DOM对象处理器配置为存储有对网页主体元素的定制处理;
页面解析模块,配置为在所述浏览器侧加载获取页面,并对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象;
DOM处理模块,配置为调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理,该定制处理中依据所述设置的网页背景图片信息对当前页面的网页主体元素进行设置;
渲染处理模块,配置为对完成网页主体元素定制处理的DOM树进行渲染处理。
2.根据权利要求1所述的浏览器,其特征在于,所述DOM处理模块还配置为:
从所述转换的DOM对象中获取用户设置的网页主体元素的背景信息;
根据所述用户设置的背景信息的解析结果,调用相应的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
3.根据权利要求2所述的浏览器,其特征在于,所述背景信息包括背景图像列表。
4.根据权利要求3所述的浏览器,其特征在于,部分DOM对象处理模块被配置为存储所述背景图像列表中的至少一幅图像;
此时,所述DOM处理模块还配置为调用该部分DOM对象处理模块对页面的背景图像进行更改。
5.根据权利要求4所述的浏览器,其特征在于,所述DOM处理模块更改背景图像的顺序包括下列任意之一:
根据所述背景图像列表顺序更改;
根据所述背景图像列表逆序更改;
根据所述背景图像列表循环更改;
根据所述背景图像列表任意顺序更改。
6.根据权利要求1至5任一项所述的浏览器,其特征在于,还包括获取模块,配置为从浏览器侧获取图像变化顺序的脚本进程;则,
所述DOM处理模块还配置为根据所述脚本进程,调用所述网页主体元素的背景图像按照背景图像列表的顺序相应变化。
7.根据权利要求1至6任一项所述的浏览器,其特征在于,还包括:
查询模块,配置为从对象处理注册表中查询所述浏览器中是否存在对所述网页主体元素进行处理的DOM对象处理模块,其中,所述对象处理注册表中登记所述至少一个DOM对象处理模块。
8.根据权利要求1至7任一项所述的浏览器,其特征在于,所述DOM处理模块还配置为在所述网页主体元素加载完成时触发的ContentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
9.根据权利要求1至8任一项所述的浏览器,其特征在于,所述DOM处理模块还配置为在网页文件加载完成时触发的DocumentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理模块对所述转换的DOM对象进行所述设置的定制处理。
10.根据权利要求1至9任一项所述的浏览器,其特征在于,所述浏览器为IE浏览器时,所述网页主体元素存储在body元素中。
11.一种对网页主体元素进行处理的方法,在浏览器中设置有网页背景图片信息,且在浏览器侧设置至少一个网页主体元素的DOM对象处理器,其中每个DOM对象处理器配置为存储有对网页主体元素的定制处理,包括:
在所述浏览器侧加载获取页面,并对页面中的网页主体元素进行解析,将该网页主体元素转换为DOM对象;
调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,该定制处理中依据所述设置的网页背景图片信息对当前页面的网页主体元素进行设置;
对完成网页主体元素定制处理的DOM树进行渲染处理。
12.根据权利要求11所述的方法,其特征在于,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,包括:
从所述转换的DOM对象中获取用户设置的网页主体元素的背景信息;
根据所述用户设置的背景信息的解析结果,调用相应的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
13.根据权利要求12所述的方法,其特征在于,所述背景信息包括背景图像列表。
14.根据权利要求13所述的方法,其特征在于,当部分DOM对象处理器中存储所述背景图像列表中的至少一幅图像时,
调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理,包括:调用该部分DOM对象处理器对页面的背景图像进行更改。
15.根据权利要求14所述的方法,其特征在于,所述背景图像的更改顺序包括下列任意之一:
根据所述背景图像列表顺序更改;
根据所述背景图像列表逆序更改;
根据所述背景图像列表循环更改;
根据所述背景图像列表任意顺序更改。
16.根据权利要求11至15任一项所述的方法,其特征在于,还包括:
从浏览器侧获取图像变化顺序的脚本进程;
根据所述脚本进程,调用所述网页主体元素的背景图像按照背景图像列表的顺序相应变化。
17.根据权利要求11至16任一项所述的方法,其特征在于,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理之前,包括:
从对象处理注册表中查询所述浏览器中是否存在对所述网页主体元素进行处理的DOM对象处理器,其中,所述对象处理注册表中登记所述至少一个DOM对象处理器。
18.根据权利要求11至17任一项所述的方法,其特征在于,在所述网页主体元素加载完成时触发的ContentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
19.根据权利要求11至18任一项所述的方法,其特征在于,在网页文件加载完成时触发的DocumentReady事件时,调用所述设置的至少一个网页主体元素的DOM对象处理器对所述转换的DOM对象进行所述设置的定制处理。
20.根据权利要求11至19任一项所述的方法,其特征在于,所述浏览器为IE浏览器时,所述浏览器所在的客户端在WebBrowser插件设置第一接口IElementBehaviorFactory、第二接口IElementBehavior、第三接口IDocHostUIHandler以及第四接口IElementBehaviorSite,其中,所述第一接口和所述第二接口用于调用各DOM对象处理器,所述第三接口用于将各DOM对象处理器注册到所述对象处理注册表中,所述第四接口与客户端关联;
调用所述设置的至少一个网页主体元素的DOM对象处理器,包括:
内核引擎通过第一接口调用行为查询方法,询问客户端关于M_BODY的第二接口,并提供所述第四接口与之关联,接收客户端返回的对象实例;
所述内核引擎在加载网页主体元素时,调用元素行为通知方法,通知客户端页面元素的加载状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210453663.XA CN102981844B (zh) | 2012-11-13 | 2012-11-13 | 对网页主体元素进行处理的浏览器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210453663.XA CN102981844B (zh) | 2012-11-13 | 2012-11-13 | 对网页主体元素进行处理的浏览器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981844A true CN102981844A (zh) | 2013-03-20 |
CN102981844B CN102981844B (zh) | 2016-07-13 |
Family
ID=47855909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210453663.XA Active CN102981844B (zh) | 2012-11-13 | 2012-11-13 | 对网页主体元素进行处理的浏览器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981844B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981848A (zh) * | 2012-11-13 | 2013-03-20 | 北京奇虎科技有限公司 | 网页主体元素处理浏览器和方法 |
WO2014075509A1 (zh) * | 2012-11-13 | 2014-05-22 | 北京奇虎科技有限公司 | 浏览器进行页面元素处理的方法及装置 |
CN106354792A (zh) * | 2016-08-24 | 2017-01-25 | 北京小米移动软件有限公司 | 网页显示方法及装置 |
CN106919598A (zh) * | 2015-12-24 | 2017-07-04 | 广州市动景计算机科技有限公司 | 网页内容展示方法及*** |
CN108089856A (zh) * | 2016-11-22 | 2018-05-29 | 北京国双科技有限公司 | 一种页面元素的监听方法及装置 |
CN109313662A (zh) * | 2016-06-20 | 2019-02-05 | 微软技术许可有限责任公司 | 到本机应用体验中的对网页的解构和呈现 |
CN111221505A (zh) * | 2019-12-31 | 2020-06-02 | 上海汇贯实业有限公司 | 一种网站网页设计***及其方法 |
CN117111803A (zh) * | 2023-10-20 | 2023-11-24 | 荣耀终端有限公司 | 背景图显示方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310415A (zh) * | 2000-02-24 | 2001-08-29 | 国际商业机器公司 | 基于风格表和一个目标设备的服务器端的html定制 |
WO2008122202A1 (en) * | 2007-04-04 | 2008-10-16 | The Hong Kong University Of Science And Technology | Custom rendering of webpages on mobile devices |
CN102214244A (zh) * | 2011-07-07 | 2011-10-12 | 深圳市万兴软件有限公司 | docx文件信息解析方法及*** |
CN102981848A (zh) * | 2012-11-13 | 2013-03-20 | 北京奇虎科技有限公司 | 网页主体元素处理浏览器和方法 |
-
2012
- 2012-11-13 CN CN201210453663.XA patent/CN102981844B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1310415A (zh) * | 2000-02-24 | 2001-08-29 | 国际商业机器公司 | 基于风格表和一个目标设备的服务器端的html定制 |
WO2008122202A1 (en) * | 2007-04-04 | 2008-10-16 | The Hong Kong University Of Science And Technology | Custom rendering of webpages on mobile devices |
CN102214244A (zh) * | 2011-07-07 | 2011-10-12 | 深圳市万兴软件有限公司 | docx文件信息解析方法及*** |
CN102981848A (zh) * | 2012-11-13 | 2013-03-20 | 北京奇虎科技有限公司 | 网页主体元素处理浏览器和方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981848A (zh) * | 2012-11-13 | 2013-03-20 | 北京奇虎科技有限公司 | 网页主体元素处理浏览器和方法 |
WO2014075509A1 (zh) * | 2012-11-13 | 2014-05-22 | 北京奇虎科技有限公司 | 浏览器进行页面元素处理的方法及装置 |
CN102981848B (zh) * | 2012-11-13 | 2015-12-09 | 北京奇虎科技有限公司 | 网页主体元素处理浏览器和方法 |
CN106919598A (zh) * | 2015-12-24 | 2017-07-04 | 广州市动景计算机科技有限公司 | 网页内容展示方法及*** |
CN109313662A (zh) * | 2016-06-20 | 2019-02-05 | 微软技术许可有限责任公司 | 到本机应用体验中的对网页的解构和呈现 |
CN109313662B (zh) * | 2016-06-20 | 2022-02-01 | 微软技术许可有限责任公司 | 到本机应用体验中的对网页的解构和呈现 |
CN106354792A (zh) * | 2016-08-24 | 2017-01-25 | 北京小米移动软件有限公司 | 网页显示方法及装置 |
CN106354792B (zh) * | 2016-08-24 | 2020-03-17 | 北京小米移动软件有限公司 | 网页显示方法及装置 |
CN108089856A (zh) * | 2016-11-22 | 2018-05-29 | 北京国双科技有限公司 | 一种页面元素的监听方法及装置 |
CN111221505A (zh) * | 2019-12-31 | 2020-06-02 | 上海汇贯实业有限公司 | 一种网站网页设计***及其方法 |
CN117111803A (zh) * | 2023-10-20 | 2023-11-24 | 荣耀终端有限公司 | 背景图显示方法和电子设备 |
CN117111803B (zh) * | 2023-10-20 | 2024-04-05 | 荣耀终端有限公司 | 背景图显示方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102981844B (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981844A (zh) | 对网页主体元素进行处理的浏览器及方法 | |
CN102981848A (zh) | 网页主体元素处理浏览器和方法 | |
CN102999578A (zh) | 页面元素处理方法和装置 | |
CN102999579B (zh) | 页面文本框处理浏览器和页面文本框元素处理方法 | |
US20190243866A1 (en) | Mobile enablement of existing web sites | |
US8990289B2 (en) | Server based framework for improving Ajax performance | |
US8775926B2 (en) | Stylesheet conversion engine | |
CN110309451B (zh) | 一种web预加载页面的生成方法及装置 | |
US8682964B1 (en) | Progressively loading network content | |
CN102981845A (zh) | 浏览器进行页面元素处理的方法及装置 | |
CN105205080B (zh) | 冗余文件清理方法、装置和*** | |
CN103500210A (zh) | 一种进行网页加载的方法、装置和浏览器 | |
CN106339414A (zh) | 网页渲染方法及装置 | |
CN102981846A (zh) | 对密码输入框元素进行处理的方法及浏览器 | |
CN111639019A (zh) | 代码测试方法、装置及可读存储介质 | |
CN103559222A (zh) | 浏览器中显示页面加载时间的方法和装置 | |
CN103034622A (zh) | 富文本内容的处理方法和服务器 | |
CN103034700A (zh) | 富文本内容的处理方法及*** | |
CN105447198A (zh) | 页面脚本便捷导入的方法及装置 | |
CN103019720A (zh) | 在浏览器中处理页面的方法及设备 | |
CN102981847B (zh) | 对页面文本框进行处理的浏览器及方法 | |
CN103559097A (zh) | 一种浏览器中进程间通信的方法、装置和浏览器 | |
CN113792208B (zh) | 基于网页的图片交互方法、装置、设备、介质及程序产品 | |
CN103034723A (zh) | 页面呈现方法及设备 | |
US8396920B1 (en) | Clean URLs in web applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220809 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |