嵌入式浏览器中层叠样式表属性搜索方法

文档序号:6563753阅读:279来源:国知局
专利名称:嵌入式浏览器中层叠样式表属性搜索方法
技术领域
本发明涉及一种嵌入式浏览器中解析层叠样式表(CSS, Cascading Stylesheet)属性 的搜索方法。
背景技术
目前,嵌入式浏览器软件功能有限,嵌入式系统的硬件设备处理能力低下、内存容量较 小。而浏览器解析的目标EPG,功能却越来越强大,内容越来越丰富。这对嵌入式浏览器提 出了更高的要求。
当前主流的EPG制作技术包括HTML、 JavaScript、 CSS和D0M等。其中,CSS技术,应用 方法非常灵活,对容错机制要求也非常高。事实证明,对CSS属性的解析,是浏览器解析EPG 网页过程中,相对最耗时的环节。浏览器对CSS部分解析的速度,直接影响着EPG网页整体的 解析速度。

发明内容
本发明所要解决的技术问题是,为了提升嵌入式浏览器的工作性能和效率,提供了一种 高效的CSS属性搜索算法。
本发明为解决上述技术问题所采用的技术方案是,嵌入式浏览器中层叠样式表属性搜索 方法,其特征在于,包括以下步骤
a、 在哈希表中存储层叠样式表属性定义;
b、 确定当前网页代码中层叠样式表属性定义的关键字,所述关键字为标签类、标签ID 、标签名;
c、 根据所述关键字在哈希表中进行搜索。
使用这种方法,可以规避CSS属性解析中海量的字符串操作带来的时间消耗和资源消耗 ,突破嵌入式浏览器解析EPG速度的瓶颈,从而提高嵌入式浏览器的工作效率,给予用户更 快更流畅的产品体验。
具体实施例方式
1、先在hash (哈希)表中存储CSS属性定义;
CSS属性定义遵循以下结构
selector {property:value;}
其中selector被称为关键字,对selector的搜索和辨别,是CSS属性搜索算法的关键所 在;H中property为特征,value为特征值。这个关键字的组合方式非常灵活, 一般是标签 ID(ID)、标签类(class)、标签名(tagname)以及伪类(pesudo)四者的组合。
2、 确定当前网页代码中CSS属性定义的关键字,关键字包括标签类、标签ID、标签名、 伪类
以下关键字组合为例
.leftContent .content .picList li : visited化loat: 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 li:visited
hash[O]《〉〃li〃
hash[l] 〈-〉 〃picList〃
hash [2] 〈-〉 〃conteiit〃
hash[3] 〈-〉 〃leftcontent"
hash[4] 〈-〉 〃visited〃
再分别以标签类、标签名、标签ID、伪类作为关键字进行搜索,搜索到合适的属性定义 后,将属性存储地址传出。
使用本文提出的方法能够有效改善当前嵌入式浏览器解析含有大量CSS属性定义的EPG速 度缓慢的缺陷,从新有效地提升嵌入式浏览器的工作性能和效率。可以给予IPTV机顶盒用户更快更流畅的用户体验,具有很高的社会经济价值。
权利要求
1.嵌入式浏览器中层叠样式表属性搜索方法,其特征在于,包括以下步骤a、在哈希表中存储层叠样式表属性定义;b、确定当前网页代码中层叠样式表属性定义的关键字,所述关键字为标签类、标签ID、标签名;c、根据所述关键字在哈希表中进行搜索。
2.如权利要求l所述嵌入式浏览器中层叠样式表属性搜索方法,其特 征在于,所述关键字还包括伪类。
全文摘要
本发明涉及嵌入式浏览器。本发明为了提升嵌入式浏览器的工作性能和效率,提供了一种高效的CSS属性搜索算法。嵌入式浏览器中层叠样式表属性搜索方法,包括以下步骤a.在哈希表中存储层叠样式表属性定义;b.确定当前网页代码中层叠样式表属性定义的关键字,所述关键字为标签类、标签ID、标签名;c.根据所述关键字在哈希表中进行搜索。使用这种方法,可以规避CSS属性解析中海量的字符串操作带来的时间消耗和资源消耗,突破嵌入式浏览器解析EPG速度的瓶颈,从而提高嵌入式浏览器的工作效率,给予用户更快更流畅的产品体验。
文档编号G06F17/30GK101183390SQ20071020326
公开日2008年5月21日 申请日期2007年12月19日 优先权日2007年12月19日
发明者李晓东, 巍 邵 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1