CN103593414A - 一种浏览器中网页的展现方法和装置 - Google Patents
一种浏览器中网页的展现方法和装置 Download PDFInfo
- Publication number
- CN103593414A CN103593414A CN201310522757.2A CN201310522757A CN103593414A CN 103593414 A CN103593414 A CN 103593414A CN 201310522757 A CN201310522757 A CN 201310522757A CN 103593414 A CN103593414 A CN 103593414A
- Authority
- CN
- China
- Prior art keywords
- rule
- html document
- pattern file
- style
- pattern
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器中网页的展现方法和装置,涉及浏览器技术领域。所述方法为在从服务器中获取当前的第一HTML文档后,对第一HTML文档的级联样式表进行修改,和/或从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,对第一样式规则进行修改,和/或根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前,对呈现树进行修改,如此在内核进行渲染后,可以在浏览器侧以更符合用户的个性化需求的方式修改网页样式,使修改操作的可扩展性增强的有益效果。
Description
技术领域
本发明涉及浏览器技术领域,具体涉及一种浏览器中网页的展现方法和装置。
背景技术
浏览器,是指可以显示网页服务器或者文件***的HTML(超文本标记语言)文件内容,并让用户与这些文件交互的一种软件。
参照图1,其为浏览器的大致架构,主要组件包括:
·用户界面:包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的您请求的页面外,其他显示的各个部分都属于用户界面;
·浏览器引擎:在用户界面和呈现引擎之间传送指令;
·呈现引擎:负责显示请求的内容。如果请求的内容是HTML,它就负责解析HTML和CSS内容,并将解析后的内容显示在屏幕上;
·网络:用于网络调用,比如HTTP请求。其接口与平台无关,并为所有平台提供底层实现。
·用户界面后端:用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与平台无关的通用接口,而在底层使用操作***的用户界面方法;
·JavaScript解释器:用于解析和执行JavaScript代码;
·数据存储:这是数据持久层化的核心部分;浏览器需要在硬盘上保存各种数据,例如Cookie;新的HTML规范(HTML5)定义了“网络数据库”,这是一个完整(但是轻便)的浏览器内数据库。
在传统技术中浏览器接收到用户针对某一URL的访问操作后,从对应的服务器的HTML文档,然后浏览器的呈现引擎进入对HTML的呈现过程。从网络层获取到HTML文档开始,一直到在浏览器上显示出对应的内容,都属于浏览器呈现的过程,各个浏览器的呈现流程大致相同,参照图2,其为呈现引擎的大致工作流程。呈现引擎将开始解析HTML文档上的元素,并逐个转化成DOM(Document Object Model,文件对象模型)上的节点。同时也会解析外部CSS(Cascading Style Sheet,级联样式表)文件以及样式元素中的样式数据,最终将HTML生成的DOM树和css样式相关的样式规则生成呈现树。呈现树是带有可呈现数据的映射到内存中的真正结构,绘制到页面上,也就是通过浏览器看到的页面。但是上述方式由于HTML文档是由网页提供者,也即在服务器端即决定了,那么浏览器侧渲染得到的网页呈现样式也必然被决定,但是对于用户而言,该种被动的方式很难完全契合用户的个性化需求。
现有技术中,Chrome浏览器中提供了页面font和encoding的设置入口,进行字体的大小、类型和页面缩放比例的改变。但是其在呈现引擎的流程中,只是在绘制阶段对字体的绘制进行改变,从而导致其改变字体后的页面结构与原页面结构并没什么区别。并且,其只提供对缺少样式的字体的显示控制,只能对对字体进行设置,扩展性差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器中网页的展现装置和相应的浏览器中网页的展现方法。
依据本发明的一个方面,提供了一种浏览器中网页的展现方法,包括:
从服务器中获取当前网页的第一HTML文档;
从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档;
和/或,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
可选的,还包括:
接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
可选的,所述从指定存储地址获取第一样式文件,根据所述第一样式文件替换HTML文档中的级联样式片段,获得第二HTML文档包括:
在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
可选的,所述第一样式文件中的内容与级联样式表进行匹配包括:
匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
可选的,所述从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,根据所述第一样式文件,遍历第一样式规则以第一样式进行替换,生成第二样式规则包括:
从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
可选的,所述遍历第一样式规则并与对应第一样式文件的样式规则进行匹配包括:
遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
可选的,所述根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第二样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点包括:
依据第一HTML文档或第二HTML文档,解析生成DOM树;
依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
当以第三呈现规则针对各DOM树节点构建呈现树节点时时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
可选的,还包括:
记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
可选的,还包括:
将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
本发明还公开了一种浏览器中网页的展现的装置,包括:
初始文档获取模块,适于从服务器中获取网页的第一HTML文档;
第一调整模块,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
和/或,第二调整模块,适于从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,第三调整模块,适于根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块,适于在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
可选的,还包括:
自定义样式文件生成模块,适于接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
可选的,所述第一调整模块包括:
第一获取模块,适于在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
第一遍历模块,适于遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
样式表替换模块,适于根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
可选的,所述样式表替换模块包括:
第一匹配模块,适于匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
可选的,所述第二调整模块包括:
第二获取模块,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
第二解析模块,适于采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
第二替换模块,适于遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
可选的,所述第二替换模块包括:
第二遍历模块,适于遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
可选的,所述第三调整模块包括:
第三HTML解析模块,适于依据第一HTML文档或第二HTML文档,解析生成DOM树;
第三样式解析模块,适于依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
第三获取模块,适于从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
第三替换模块,适于当以第二呈现规则针对各DOM树节点构建呈现树节点时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
可选的,还包括:
记录模块,适于记录第一HTML文档;
回滚模块,适于当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
可选的,还包括:
上次模块,适于将第一样式文件上传到云端服务器浏览器账户中;
同步模块,适于当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
根据本发明的浏览器中网页的展现方法可以从呈现引擎的不同阶段对HTML文档的解析过程进行改变,由此解决了无法在浏览器侧对页面样式进行多样化的修改、修改方式扩展性差的问题,取得了可以在浏览器侧以更符合用户的个性化需求的方式修改网页样式,使修改操作的可扩展性增强的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术的浏览器架构图;
图2示出了浏览器呈现引擎大致原理图;
图3示出了Chrome浏览器呈现引擎的具体原理图;
图4示出了根据本发明一个实施例一的浏览器中网页的展现方法的流程示意图;
图5示出了根据本发明一个实施例二的浏览器中网页的展现方法的流程示意图;
图6示出了根据本发明一个实施例三的浏览器中网页的展现方法的流程示意图;
图7示出了本发明实施例的样式规则的解析示例;
图8示出了根据本发明一个实施例四的浏览器中网页的展现方法的流程示意图;
图9示出了根据本发明一个实施例五的浏览器中网页的展现方法的流程示意图;
图10示出了根据本发明一个实施例六的浏览器中网页的展现装置的结构示意图;
图11示出了根据本发明一个实施例七的浏览器中网页的展现装置的结构示意图;
图12示出了根据本发明一个实施例八的浏览器中网页的展现装置的结构示意图;
图13示出了根据本发明一个实施例九的浏览器中网页的展现装置的结构示意图;
图14示出了根据本发明一个实施例十的浏览器中网页的展现装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例以chrome浏览器为例描述对网页样式进行调整和修改的过程。为了使本发明实施例的论述更为清楚,下面结合图2参照图3,先介绍chrome浏览器呈现引擎的解析流程:
获取HTML文档后,通过HTML档获得style sheets(级联样式表);
然后将HTML文档发往HTML Parser(HTML解析器)解析,获得DOMTree(文档对象模型树);
将style sheets发往CSS Parser(CSS解析器)解析,解析获得Style Rules(样式规则);
然后将DOM Tree和Style Rules进行Attachment(附加)方法,生成rendertree(呈现树);在生成程序树过程中进行layout(布局);
布局完的呈现树可进入painting(绘制)阶段,绘制完毕即可进行Display(展示)。
实施例一
参照图4,其示出了本发明实施例的一种浏览器中网页的展现方法的流程示意图,具体可以包括:
步骤102,从服务器中获取当前网页的第一HTML文档;
步骤104,从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档;
和/或,步骤106,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,步骤108,根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
步骤110,在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
本发明可在获取HTML文档之后进入HTML parser之前对HTML文档中的级联样式表进行替换,即步骤104;
也可在CSS Parser将Style sheets进行解析,获得Style Rules过程中对原始Style Rules进行修改,即步骤106;
也可在将DOM Tree和Style Rules进行Attachment,生成Render Tree过程中对Render Tree进行修改,即步骤108。
上述三个步骤,从修改规模上由大到小,修改时间上由前往后,但是精度上却越来越高,扩展和可控性也越来越高级。当然本发明上述三个步骤在本发明中可采用其中一个或者多个。
在本发明实施例中,优选的,还包括:
步骤100,接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
本发明实施例中还会设置UI界面入口,接收用户的个性化样式选择,用户通过这个界面来编辑属于自己的样式——这些样式不仅限制于字体,也包括其他元素控件,比如table的样式,div的样式,tr的样式等等。在接收到用户输入的样式后,生成第一样式文件在指定目录进行存储,比如以xml或者css样式表的形式存放。
那么本申请在用户通过UI界面入口设置了自定义样式,浏览器侧生成了第一样式文件后,本发明则可进行修改流程。
另外,优选的,还包括:
步骤A110,记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
即浏览器在展示个性化页面后,用户可以选择查看原始页面的样式,那么只需点击回滚按钮,浏览器则可执行回滚操作,直接解析第一HTML文档进行展示,不再进行修改。
另外,优选的,还包括:
步骤A112,将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
本发明可本发明可在一定程度上在不改变网页设置的情况下,将样式设计权限交给用户,使用户可以按照自己的偏好设置字体和各种控件的样式,使网页的展示更符合用户个性化需求;另外,以文件为存储格式的方式更适合扩展和维护。另外,还可以将数据存储到数据库中,这样不但可以记录下用户的配置历史信息,进行回滚等操作,还可以直接将配置和个人账户一起进行同步。
实施例二
参照图5,其示出了本发明一种浏览器中网页的展现方法的流程示意图,具体可以包括:
步骤202,从服务器中获取当前网页的第一HTML文档。
用户在用户界面的访问某一链接后,浏览器引擎将链接发送给呈现引擎,呈现引擎则组装请求,通过网络获取相应服务器的HTML文档。
步骤204,从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据第二HTML文档转入后续内核解析过程以展现网页。
该步骤的逻辑大致为:将传统的“获取第一HTML文档->解析第一HTML”流程改为:“获取第一HTML->获取第一样式文件->第一样式文件中样式规则替换HTML样式规则->解析新的第二HTML文档”。
优选的,所述从指定存储地址获取第一样式文件,根据所述第一样式文件替换HTML文档中的级联样式片段,获得第二HTML文档包括:
步骤A10,在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
步骤A12,遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
在服务器发送的HTML文档中,其自身本来即存在样式规则,HTML中有3种样式标记方式:
1、内嵌样式(Inline Style)
Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。
<P style="font-size:20pt;color:red">这个Style定义<p></p>里面的文字是20pt字体,字体颜色是红色。</p>
2、内部样式表(Internal Style Sheet)
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
3、外部样式表(External Style Sheet)
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
那么对于该种方式则先获取CSS文件。
步骤A14,根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
在替换时,可以根据HTML语言的编辑规则,css的语法规则,将第一样式文件中的样式对象与HTML文档中样式对象匹配(比如匹配标签、匹配css语法规则中的选择器等);如果匹配上,则将样式规则进行替换。在本发明实施例中可以只以第一样式文件中的样式替换第一HTML文档中需要替换的级联样式表,比如替换对文字的更改,或者替换背景、或者替换div的样式、tr的样式等。
优选的,所述第一样式文件中的内容与级联样式表进行匹配包括:
步骤A16,匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
比如如果要替换背景,则匹配body标签,然后将对应body标签的样式替换为第一文件中针对body标签的样式。
在css语法规则中,CSS规则由两个主要的部分构成:选择器,以及一条或多条声明;每条声明由一个属性(比如颜色、大小)和一个值(比如具体什么颜色、具体多大)组成。选择器一般规定某一种类型dom节点的呈现样式,那么如果要替换某一类型的dom节点,则可匹配选择器、和/或匹配对应的属性值即可。
步骤206,在获得第二HTML文档后,再进入后续内核处理流程进行网页展示。
替换后,则将原始的第一HTML文档变为了新的第二HTML文档,然后可再进入后续的呈现引擎处理过程。
另外,优选的,还包括:
步骤A110,记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
即浏览器在展示个性化页面后,用户可以选择查看原始页面的样式,那么只需点击回滚按钮,浏览器则可执行回滚操作,直接解析第一HTML文档进行展示,不再进行修改。
另外,优选的,还包括:
步骤A112,将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
本实施例可在获取HTML文档后,对HTML文档中的样式文件进行替换,可以在浏览器侧以更符合用户的个性化需求的方式修改网页样式,使修改操作的可扩展性增强。
实施例三
参照图6,其示出了本发明一种浏览器中网页的展现方法的流程示意图,具体可以包括:
步骤302,从服务器中获取当前网页的第一HTML文档;
步骤304,从所述第一HTML文档获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
该步骤的逻辑大致为:将传统的“解析css->生成第一样式规则”
改为:“解析css->生成第一样式规则->获取第一样式文件->遍历第一样式规则以第一样式文件的样式规则进行替换->生成第二样式规则”;然后将第二样式规则放入后续attachment操作中。
优选的,所述从所述第一HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,根据所述第一样式文件,遍历第一样式规则以第一样式进行替换,生成第二样式规则,再根据所述第二样式规则转入后续内核解析过程以展现网页,包括:
步骤B10,从所述第一HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
步骤B12,采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
由于本发明实施例中,是以第一样式文件进行存储的,即以css文件或者xml文件进行存储的,那么在获取了第一样式文件后,呈现引擎要进行样式替换,也需采用级联样式表解析器所述第一样式文件,然后才能获得对应第一样式文件的样式规则。
步骤B14,遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
如图6,其示出了一种CSS样式解析的示例:
对于样式:
采用CSS parser解析后,得到下面树状的样式规则,其中Selectors为选择器、Declaration为声明。
对于p,div{
marging-top:3px;}
解析其选择器为p以及div,对应的声明的属性为marging-top,属性值为3px。
对于.error{
Color:red;}
解析其选择器为.error,对应的声明对象的属性为Color,属性值为red。
那么即可根据上述解析得到第一样式规则,和对应第一样式文件的样式规则;遍历第一样式规则,以对应第一样式文件的样式规则替换能够匹配上的样式规则,得到第二样式规则。
优选的,所述遍历第一样式规则并与对应第一样式文件的样式规则进行匹配包括:
步骤B16,遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
如图7所描述,样式规则里能明确指出选择器、声明对象的属性以及属性值。那么如果要进行样式替换,则可直接将对应第一样式文件的样式规则中的选择器与第一样式规则中的选择器进行匹配,匹配上了说明要进行替换,那么把对应声明对象进行替换即完成修改工作,得到第二样式规则。
步骤306,在获得第二样式规则后进入后续内核处理流程进行网页展示。
在本发明实施例中,再根据所述第二样式规则转入后续内核解析过程以展现网页。
另外,优选的,还包括:
步骤A110,记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
即浏览器在展示个性化页面后,用户可以选择查看原始页面的样式,那么只需点击回滚按钮,浏览器则可执行回滚操作,直接解析第一HTML文档进行展示,不再进行修改。
另外,优选的,还包括:
步骤A112,将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
本实施例可在获取解析HTML文档后,初始得到的样式规则进行替换,可以在浏览器侧以更符合用户的个性化需求的方式修改网页样式,使修改操作的可扩展性增强。
当然在本实施例中,在步骤304前增加步骤204中从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档的操作,则步骤204为从所述第二HTML文档获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则,再根据所述第二样式规则转入后续内核解析过程以展现网页。
实施例四
参照图8,其示出了本发明一种浏览器中网页的展现方法的流程示意图,具体可以包括:
步骤402,从服务器中获取当前网页的第一HTML文档;
步骤404,根据所述第一HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
该步骤的逻辑大致为:将传统的“生成dom树->生成呈现树”改为:“生成dom树->根据用户第一样式文件构建第一呈现规则->已构建呈现树结构过程中,将符合呈现条件的dom树节点使用第一呈现规则树节点”。
优选的,所述根据所述第一HTML文档解析获得DOM树以及第二样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点,再根据所述呈现树转入后续内核解析过程以展现网页,包括:
步骤C10,依据第一HTML文档,解析生成DOM树;
步骤C12,依据第一HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
步骤C14,从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
步骤C16,当以第三呈现规则针对各DOM树节点构建呈现树节点时时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
样式规则与DOM树进行attachment操作时构建呈现树时,是按DOM树的节点逐个进行的,每一个DOM书节点分配一个containing block的元素,元素中包括相应样式规则。那么本发明实施例中则可先以自定义的第一样式文件的样式规则对dom树构建第一呈现规则,将第一呈现规则中用到的DOM树节点,与构建过程中的节点进行匹配,如果节点类型一致,则进行替换。
在本步骤中,如果即采用步骤104也采用步骤106,则所述DOM树为解析第二HTML文档获得,所述第三样式规则为前述通过第二HTML文档获得的第二样式规则;
如果只采用步骤104,则所述DOM树为解析第二HTML文档获得,所述第三样式规则为前述通过第二HTML文档获得的第一样式规则;
如果只采用步骤106,则所述DOM树为解析第一HTML文档获得;所述第三样式规则为前述通过第一HTML文档获得的第一样式规则。
步骤406,在以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
另外,优选的,还包括:
步骤A110,记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
即浏览器在展示个性化页面后,用户可以选择查看原始页面的样式,那么只需点击回滚按钮,浏览器则可执行回滚操作,直接解析第一HTML文档进行展示,不再进行修改。
另外,优选的,还包括:
步骤A112,将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
本实施例是在解析获得DOM树以及样式规则后,再建立呈现树过程中对呈现树的修改,可以在浏览器侧以更准确更符合用户的个性化需求的方式修改网页样式,使修改操作的可扩展性增强。
实施例二、三、四对应的三种修改方法从修改规模上由大到小,修改时间上由前往后,但是精度上却越来越高,扩展和可控性当然也越来越高级。
另外,在实施例二和实施例三组合时,前述步骤B10“变为从所述第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件。”
在实施例二与实施例四组合时,前述步骤C10变为“依据第二HTML文档,解析生成DOM树”。步骤C12变为“依据第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;”
在实施例三与实施例四组合时,其各步骤依据的原始HTML文档还是第一HTML文档
实施例五
参照图9,其示出了本发明优选的一种浏览器中网页的展现方法的流程示意图,具体可以包括:
步骤502,从服务器中获取当前网页的第一HTML文档;
步骤504,从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档;
步骤506,从所述第二HTML文档获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
优选的,本步骤包括:
步骤D10,从所述第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
步骤D12,采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
步骤D14,遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
步骤508,根据所述第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
步骤510,在以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
优选的,本步骤包括,包括:
步骤C10,依据第二HTML文档,解析生成DOM树;
步骤C12,依据第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
步骤C14,从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
步骤C16,当以第三呈现规则针对各DOM树节点构建呈现树节点时时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
样式规则与DOM树进行attachment操作时构建呈现树时,是按DOM树的节点逐个进行的,每一个DOM书节点分配一个containing block的元素,元素中包括相应样式规则。那么本发明实施例中则可先以自定义的第一样式文件的样式规则对dom树构建第一呈现规则,将第一呈现规则中用到的DOM树节点,与构建过程中的节点进行匹配,如果节点类型一致,则进行替换。
本实施例可将第一样式文件中的规则按需求在不同阶段进行修改,以达到最优的展示状态。
本发明可本发明可在一定程度上在不改变网页设置的情况下,将样式设计权限交给用户,使用户可以按照自己的偏好设置字体和各种控件的样式,使网页的展示更符合用户个性化需求;另外,以文件为存储格式的方式更适合扩展和维护。另外,还可以将数据存储到数据库中,这样不但可以记录下用户的配置历史信息,进行回滚等操作,还可以直接将配置和个人账户一起进行同步。
上述方法实施例原理基本类型,其可以根据需求进行组合和拆分,在此不再详述。
实施例六
参照图10,其示出了本发明一种浏览器中网页的展现的装置的结构示意图,具体可以包括:
初始文档获取模块602,适于从服务器中获取网页的第一HTML文档;
第一调整模块604,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
和/或,第二调整模块606,适于从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,第三调整模块608,适于根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块610,适于在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
还包括:
自定义样式文件生成模块,适于接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
所述第一调整模块包括:
第一获取模块,适于在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
第一遍历模块,适于遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
样式表替换模块,适于根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
优选的,所述样式表替换模块包括:
第一匹配模块,适于匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
优选的,所述第二调整模块包括:
第二获取模块,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
第二解析模块,适于采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
第二替换模块,适于遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
优选的,所述第二替换模块包括:
第二遍历模块,适于遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
优选的,所述第三调整模块包括:
第三HTML解析模块,适于依据第一HTML文档或第二HTML文档,解析生成DOM树;
第三样式解析模块,适于依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
第三获取模块,适于从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
第三替换模块,适于当以第二呈现规则针对各DOM树节点构建呈现树节点时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
优选的,还包括:
记录模块,适于记录第一HTML文档;
回滚模块,适于当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
优选的,还包括:
上次模块,适于将第一样式文件上传到云端服务器浏览器账户中;
同步模块,适于当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
实施例七
参照图11,其示出了本发明一种浏览器中网页的展现的装置的结构示意图,具体可以包括:
初始文档获取模块702,适于从服务器中获取网页的第一HTML文档;
第一调整模块704,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
后续模块706,适于在获得第二HTML文档后再进入后续内核处理流程进行网页展示。
还包括:
自定义样式文件生成模块,适于接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
所述第一调整模块包括:
第一获取模块,适于在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
第一遍历模块,适于遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
样式表替换模块,适于根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
优选的,所述样式表替换模块包括:
第一匹配模块,适于匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
实施例八
参照图12,其示出了本发明一种浏览器中网页的展现的装置的结构示意图,具体可以包括:
初始文档获取模块802,适于从服务器中获取网页的第一HTML文档;
第二调整模块804,适于从所述第一HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
后续模块806,适于在获得第二样式规则后再进入后续内核处理流程进行网页展示。
优选的,所述第二调整模块包括:
第二获取模块,从所述第一HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
第二解析模块,适于采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
第二替换模块,适于遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
优选的,所述第二替换模块包括:
第二遍历模块,适于遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
实施例九
参照图13,其示出了本发明一种浏览器中网页的展现的装置的结构示意图,具体可以包括:
初始文档获取模块902,适于从服务器中获取网页的第一HTML文档;
第三调整模块904,适于根据所述第一HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块906,适于以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
优选的,所述第三调整模块包括:
第三HTML解析模块,适于依据第一HTML文档或第二HTML文档,解析生成DOM树;
第三样式解析模块,适于依据第一HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
第三获取模块,适于从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
第三替换模块,适于当以第二呈现规则针对各DOM树节点构建呈现树节点时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
实施例十
参照图14,其示出了本发明一种浏览器中网页的展现的装置的结构示意图,具体可以包括:
初始文档获取模块1002,适于从服务器中获取网页的第一HTML文档;
第一调整模块1004,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
第二调整模块1006,适于从所述第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
第三调整模块1008,适于根据所述第二HTML文档解析获得DOM树,以及根据所述第二样式规则,构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块1010,以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器中网页的展现设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种浏览器中网页的展现方法,包括:
从服务器中获取当前网页的第一HTML文档;
从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档;
和/或,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
A2、如A1所述的方法还包括:
接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
A3、如A1所述的方法所述从指定存储地址获取第一样式文件,根据所述第一样式文件替换HTML文档中的级联样式片段,获得第二HTML文档包括:
在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
A4、如A3所述的方法所述第一样式文件中的内容与级联样式表进行匹配包括:
匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
A5、如A1所述的方法所述从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,根据所述第一样式文件,遍历第一样式规则以第一样式进行替换,生成第二样式规则包括:
从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
A6、如A5所述的方法所述遍历第一样式规则并与对应第一样式文件的样式规则进行匹配包括:
遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
A7、如A1所述的方法所述根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第二样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点包括:
依据第一HTML文档或第二HTML文档,解析生成DOM树;
依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
当以第三呈现规则针对各DOM树节点构建呈现树节点时时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
A8、如A1所述的方法还包括:
记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
A9、如A1所述的方法还包括:
将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
A10、一种浏览器中网页的展现的装置,包括:
初始文档获取模块,适于从服务器中获取网页的第一HTML文档;
第一调整模块,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
和/或,第二调整模块,适于从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,第三调整模块,适于根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块,适于在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
A11、如A10所述的装置还包括:
自定义样式文件生成模块,适于接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
A12、如A10所述的装置所述第一调整模块包括:
第一获取模块,适于在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
第一遍历模块,适于遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
样式表替换模块,适于根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
A13、如A12所述的装置所述样式表替换模块包括:
第一匹配模块,适于匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
A14、如A10所述的装置所述第二调整模块包括:
第二获取模块,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
第二解析模块,适于采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
第二替换模块,适于遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
A15、如A14所述的装置所述第二替换模块包括:
第二遍历模块,适于遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
A16、如A10所述的装置所述第三调整模块包括:
第三HTML解析模块,适于依据第一HTML文档或第二HTML文档,解析生成DOM树;
第三样式解析模块,适于依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
第三获取模块,适于从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
第三替换模块,适于当以第二呈现规则针对各DOM树节点构建呈现树节点时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
A17、如A10所述的装置还包括:
记录模块,适于记录第一HTML文档;
回滚模块,适于当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
A18、如A10所述的装置还包括:
上次模块,适于将第一样式文件上传到云端服务器浏览器账户中;
同步模块,适于当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
Claims (10)
1.一种浏览器中网页的展现方法,包括:
从服务器中获取当前网页的第一HTML文档;
从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档;
和/或,从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
2.如权利要求1所述的方法,其特征在于,还包括:
接收用户的自定义样式操作,并根据所述自定义样式操作生成第一样式文件进行存储。
3.如权利要求1所述的方法,其特征在于,所述从指定存储地址获取第一样式文件,根据所述第一样式文件替换HTML文档中的级联样式片段,获得第二HTML文档包括:
在从服务器中获取网页的第一HTML文档之后,从指定存储地址获取第一样式文件;
遍历第一HTML文档中的<style>标签,和/或link样式,和/或各标签内部的style样式,获取级联样式表;
根据获取的第一样式文件,将第一样式文件中的内容与级联样式表进行匹配,将级联样式表中符合匹配条件的内容以第一样式文件的内容进行替换,获得第二HTML文档。
4.如权利要求3所述的方法,其特征在于,所述第一样式文件中的内容与级联样式表进行匹配包括:
匹配级联样式表中各样式所在标签、和/或对应选择器、和/或与选择器对应的属性值。
5.如权利要求1所述的方法,其特征在于,所述从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,根据所述第一样式文件,遍历第一样式规则以第一样式进行替换,生成第二样式规则包括:
从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后,从指定存储地址获取第一样式文件;
采用级联样式表解析器解析所述第一样式文件,获得对应第一样式文件的样式规则;
遍历第一样式规则并与对应第一样式文件的样式规则进行匹配,将符合匹配条件的规则以对应第一样式文件的样式规则进行替换。
6.如权利要求5所述的方法,其特征在于,所述遍历第一样式规则并与对应第一样式文件的样式规则进行匹配包括:
遍历第一样式规则中的选择器,判断其是否与对应第一样式文件的样式规则的选择器匹配,如果匹配则,将对应该选择器的声明对象进行替换。
7.如权利要求1所述的方法,其特征在于,所述根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第二样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点包括:
依据第一HTML文档或第二HTML文档,解析生成DOM树;
依据第一HTML文档或第二HTML文档获得第三样式规则,并以第三样式规则生成第二呈现规则;
从指定存储地址获取第一样式文件,解析获得对应第一样式文件的样式规则,并以对应第一样式文件的样式规则构建第一呈现规则;
当以第三呈现规则针对各DOM树节点构建呈现树节点时时,如果所述DOM树节点的类型与第一呈现规则中对应的DOM树节点的类型一致,则利用第一呈现规则构建呈现树节点。
8.如权利要求1所述的方法,其特征在于,还包括:
记录第一HTML文档;当浏览器接收到回滚操作后,直接解析第一HTML文档进行展示。
9.如权利要求1所述的方法,其特征在于,还包括:
将第一样式文件上传到云端服务器浏览器账户中;当同一浏览器账户使用各终端的浏览器时,将第一样式文件进行同步。
10.一种浏览器中网页的展现的装置,包括:
初始文档获取模块,适于从服务器中获取网页的第一HTML文档;
第一调整模块,适于从指定存储地址获取第一样式文件,根据所述第一样式文件替换第一HTML文档中的级联样式表,获得第二HTML文档,再根据所述第二HTML文档转入后续内核解析过程以展现网页;
和/或,第二调整模块,适于从所述第一HTML文档或者第二HTML文档中获得级联样式表进行级联样式解析,生成第一样式规则后:
从指定存储地址获取第一样式文件,遍历第一样式规则以对应第一样式文件的对应第一样式文件的样式规则进行替换,生成第二样式规则;
和/或,第三调整模块,适于根据所述第一HTML文档或者第二HTML文档解析获得DOM树以及第三样式规则,并构建呈现树之前:
从指定存储地址获取第一样式文件,并根据所述第一样式文件构建第一呈现规则,对符合呈现条件的DOM树节点以所述第一呈现规则构建呈现树节点;
后续模块,适于在获得第二HTML文档后、或获得第二样式规则后、或以所述第一呈现规则构建呈现树节点后再进入后续内核处理流程进行网页展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522757.2A CN103593414A (zh) | 2013-10-29 | 2013-10-29 | 一种浏览器中网页的展现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522757.2A CN103593414A (zh) | 2013-10-29 | 2013-10-29 | 一种浏览器中网页的展现方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103593414A true CN103593414A (zh) | 2014-02-19 |
Family
ID=50083555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310522757.2A Pending CN103593414A (zh) | 2013-10-29 | 2013-10-29 | 一种浏览器中网页的展现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593414A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050253A (zh) * | 2014-06-12 | 2014-09-17 | 北京金山网络科技有限公司 | 一种网页展示方法及浏览器 |
CN105159677A (zh) * | 2015-09-09 | 2015-12-16 | 深圳Tcl数字技术有限公司 | 终端用户界面的受控显示方法及装置 |
CN105426507A (zh) * | 2015-11-30 | 2016-03-23 | 用友优普信息技术有限公司 | 网上商城的展现方法及展现装置 |
CN105446969A (zh) * | 2014-06-05 | 2016-03-30 | 北大方正信息产业集团有限公司 | 一种网页生成方法、装置和服务器 |
CN105630902A (zh) * | 2015-12-21 | 2016-06-01 | 明博教育科技股份有限公司 | 一种渲染和增量更新网页的方法 |
WO2017036309A1 (zh) * | 2015-08-31 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 页面渲染方法、装置及设备 |
CN107807927A (zh) * | 2016-09-08 | 2018-03-16 | 广州市动景计算机科技有限公司 | 基于下发规则的页面解析方法、装置、客户端设备及*** |
CN109426415A (zh) * | 2017-08-31 | 2019-03-05 | 北京国双科技有限公司 | 一种生成级联选择器的方法及装置 |
CN109725965A (zh) * | 2018-12-13 | 2019-05-07 | 平安普惠企业管理有限公司 | 层叠样式表维护方法、装置、计算机设备及存储介质 |
CN110381118A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN111221513A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种调整层叠样式表的方法、装置、介质和电子设备 |
CN117056637A (zh) * | 2023-09-26 | 2023-11-14 | 之江实验室 | 无障碍网页生成方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987854A (zh) * | 2005-12-20 | 2007-06-27 | 北京亿中邮信息技术有限公司 | 一种个性化替换网页主题的方法 |
CN101401091A (zh) * | 2006-03-09 | 2009-04-01 | 日本Nc软件株式会社 | 用于改变网页设计的装置和方法 |
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
CN102760139A (zh) * | 2011-04-29 | 2012-10-31 | 国际商业机器公司 | 用于处理网页的方法和*** |
CN102915308A (zh) * | 2011-08-02 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
-
2013
- 2013-10-29 CN CN201310522757.2A patent/CN103593414A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987854A (zh) * | 2005-12-20 | 2007-06-27 | 北京亿中邮信息技术有限公司 | 一种个性化替换网页主题的方法 |
CN101401091A (zh) * | 2006-03-09 | 2009-04-01 | 日本Nc软件株式会社 | 用于改变网页设计的装置和方法 |
CN102760139A (zh) * | 2011-04-29 | 2012-10-31 | 国际商业机器公司 | 用于处理网页的方法和*** |
CN102915308A (zh) * | 2011-08-02 | 2013-02-06 | 阿里巴巴集团控股有限公司 | 一种页面渲染的方法及装置 |
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN102663126A (zh) * | 2012-04-23 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种在移动终端中显示网页的方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446969A (zh) * | 2014-06-05 | 2016-03-30 | 北大方正信息产业集团有限公司 | 一种网页生成方法、装置和服务器 |
CN104050253B (zh) * | 2014-06-12 | 2018-09-25 | 北京猎豹网络科技有限公司 | 一种网页展示方法及浏览器 |
CN104050253A (zh) * | 2014-06-12 | 2014-09-17 | 北京金山网络科技有限公司 | 一种网页展示方法及浏览器 |
WO2017036309A1 (zh) * | 2015-08-31 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 页面渲染方法、装置及设备 |
CN105159677A (zh) * | 2015-09-09 | 2015-12-16 | 深圳Tcl数字技术有限公司 | 终端用户界面的受控显示方法及装置 |
WO2017041538A1 (zh) * | 2015-09-09 | 2017-03-16 | 深圳Tcl数字技术有限公司 | 终端用户界面的受控显示方法及装置 |
CN105426507A (zh) * | 2015-11-30 | 2016-03-23 | 用友优普信息技术有限公司 | 网上商城的展现方法及展现装置 |
CN105630902A (zh) * | 2015-12-21 | 2016-06-01 | 明博教育科技股份有限公司 | 一种渲染和增量更新网页的方法 |
CN105630902B (zh) * | 2015-12-21 | 2019-03-26 | 明博教育科技股份有限公司 | 一种渲染和增量更新网页的方法 |
CN107807927A (zh) * | 2016-09-08 | 2018-03-16 | 广州市动景计算机科技有限公司 | 基于下发规则的页面解析方法、装置、客户端设备及*** |
CN109426415A (zh) * | 2017-08-31 | 2019-03-05 | 北京国双科技有限公司 | 一种生成级联选择器的方法及装置 |
CN109725965A (zh) * | 2018-12-13 | 2019-05-07 | 平安普惠企业管理有限公司 | 层叠样式表维护方法、装置、计算机设备及存储介质 |
CN110381118A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN110381118B (zh) * | 2019-06-19 | 2022-03-04 | 平安普惠企业管理有限公司 | 页面数据传输的控制方法和相关设备 |
CN111221513A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种调整层叠样式表的方法、装置、介质和电子设备 |
CN111221513B (zh) * | 2020-01-03 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 一种调整层叠样式表的方法、装置、介质和电子设备 |
CN117056637A (zh) * | 2023-09-26 | 2023-11-14 | 之江实验室 | 无障碍网页生成方法、装置、计算机设备和存储介质 |
CN117056637B (zh) * | 2023-09-26 | 2024-03-12 | 之江实验室 | 无障碍网页生成方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Henninger et al. | lab. js: A free, open, online study builder | |
CN103593414A (zh) | 一种浏览器中网页的展现方法和装置 | |
CN111475163B (zh) | 视图模板的代码文件生成方法、装置、设备及存储介质 | |
CN109062567B (zh) | 基于b/s结构的信息管理***快速开发平台 | |
Mann | Java Server Faces in Action | |
CN101976235B (zh) | 基于动态网页的可扩展的Word报告自动生成方法 | |
CN103597469B (zh) | 集成开发环境中的实况浏览器工具 | |
CN107807913A (zh) | 一种基于web的电子表单设计***及方法 | |
Auer et al. | LESS-template-based syndication and presentation of linked data | |
CN102360296A (zh) | 一种基于web的在线表单开发工具 | |
Feldt | Programming Firefox: Building rich internet applications with XUL | |
CN101799753A (zh) | 一种实现树形结构的方法及装置 | |
BR112021009093A2 (pt) | sistema de desenvolvimento de website, e método para um sistema de desenvolvimento de website | |
CN116468010A (zh) | 报表生成方法、装置、终端及存储介质 | |
Loudon | Developing Large Web Applications: Producing Code That Can Grow and Thrive | |
US11010140B2 (en) | Integration of workflow and logical data objects using visual programming | |
KR101649822B1 (ko) | 웹페이지 구축 장치 및 방법 | |
Benson et al. | Cascading tree sheets and recombinant HTML: better encapsulation and retargeting of web content | |
Johnson | Programming in HTML5 with JavaScript and CSS3 | |
CN110019177A (zh) | 规则存储的方法和装置 | |
de Lange et al. | Collaborative wireframing for model-driven web engineering | |
Radford | Learning Web Development with Bootstrap and AngularJS | |
Derks | React Projects: Build 12 real-world applications from scratch using React, React Native, and React 360 | |
Lange et al. | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment | |
Ruponen | The front-end architectural design and implementation of a modularized web portal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140219 |
|
RJ01 | Rejection of invention patent application after publication |