[发明专利]嵌入式浏览器中层叠样式表属性搜索方法无效
| 申请号: | 200710203262.8 | 申请日: | 2007-12-19 |
| 公开(公告)号: | CN101183390A | 公开(公告)日: | 2008-05-21 |
| 发明(设计)人: | 邵巍;李晓东 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 成都虹桥专利事务所 | 代理人: | 李顺德 |
| 地址: | 621000四川*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 嵌入式 浏览器 层叠 样式 属性 搜索 方法 | ||
技术领域
本发明涉及一种嵌入式浏览器中解析层叠样式表(CSS,Cascading Stylesheet)属性的搜索方法。
背景技术
目前,嵌入式浏览器软件功能有限,嵌入式系统的硬件设备处理能力低下、内存容量较小。而浏览器解析的目标EPG,功能却越来越强大,内容越来越丰富。这对嵌入式浏览器提出了更高的要求。
当前主流的EPG制作技术包括:HTML、JavaScript、CSS和DOM等。其中,CSS技术,应用方法非常灵活,对容错机制要求也非常高。事实证明,对CSS属性的解析,是浏览器解析EPG网页过程中,相对最耗时的环节。浏览器对CSS部分解析的速度,直接影响着EPG网页整体的解析速度。
发明内容
本发明所要解决的技术问题是,为了提升嵌入式浏览器的工作性能和效率,提供了一种高效的CSS属性搜索算法。
本发明为解决上述技术问题所采用的技术方案是,嵌入式浏览器中层叠样式表属性搜索方法,其特征在于,包括以下步骤:
a、在哈希表中存储层叠样式表属性定义;
b、确定当前网页代码中层叠样式表属性定义的关键字,所述关键字为标签类、标签ID、标签名;
c、根据所述关键字在哈希表中进行搜索。
使用这种方法,可以规避CSS属性解析中海量的字符串操作带来的时间消耗和资源消耗,突破嵌入式浏览器解析EPG速度的瓶颈,从而提高嵌入式浏览器的工作效率,给予用户更快更流畅的产品体验。
具体实施方式
1、先在hash(哈希)表中存储CSS属性定义;
CSS属性定义遵循以下结构:
selector{property:value;}
其中selector被称为关键字,对selector的搜索和辨别,是CSS属性搜索算法的关键所在;{}中property为特征,value为特征值。这个关键字的组合方式非常灵活,一般是标签ID(ID)、标签类(class)、标签名(tagname)以及伪类(pesudo)四者的组合。
2、确定当前网页代码中CSS属性定义的关键字,关键字包括标签类、标签ID、标签名、伪类:
以下关键字组合为例:
.leftContent.content.picList li:visited{float:left;width:138px;list-style-type:none;}
当前标签为li,其上一层标签的类为picList,上两层标签的类为content,上三层标签的类为leftContert,:visited为伪类,当以上条件全满足的时候,可以使用其属性定义。
3、根据所述关键字在哈希表中进行搜索:
为了判断属性定义是否为合适的定义,我们需要存储有当前标签上面的所有还没有关闭的标签的相关信息,包括标签类、标签ID、标签名。HTML解析中,遇到一个开始标签,将其相关信息,压入stack堆栈;遇到一个结束标签时,再将其相关信息弹出stack堆栈。这样就可以记载所有还没有关闭的标签的相关信息,为我们在判断搜索CSS属性定义时提供依据。
考虑到CSS属性搜索中大量使用到字符串操作,我们使用hash表来存储CSS属性定义。hash表的高效搜索等特性,非常适合这项工作。我们将selector以空格分开,按照倒排的顺序,存储到hash表中,其中伪类需要存储到hash表的最后。根据属性判断的算法,按照倒排顺序,可以最高效率地成功搜索到适合的属性定义。
按照以下方式将关键字存储到hash表:
.leftContent.content.picList lu:visited
hash[0]<->″li″
hash[1]<->″picList″
hash[2]<->″content″
hash[3]<->″leftcontent″
hash[4]<->″:visited″
再分别以标签类、标签名、标签ID、伪类作为关键字进行搜索,搜索到合适的属性定义后,将属性存储地址传出。
使用本文提出的方法能够有效改善当前嵌入式浏览器解析含有大量CSS属性定义的EPG速度缓慢的缺陷,从新有效地提升嵌入式浏览器的工作性能和效率。可以给予IPTV机顶盒用户更快更流畅的用户体验,具有很高的社会经济价值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710203262.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于实心或无芯卫生纸卷的适配器
- 下一篇:锂离子电池





