CN104267941A - 动态生成响应式网页的方法及装置 - Google Patents
动态生成响应式网页的方法及装置 Download PDFInfo
- Publication number
- CN104267941A CN104267941A CN201410479018.4A CN201410479018A CN104267941A CN 104267941 A CN104267941 A CN 104267941A CN 201410479018 A CN201410479018 A CN 201410479018A CN 104267941 A CN104267941 A CN 104267941A
- Authority
- CN
- China
- Prior art keywords
- xml document
- document object
- response type
- display
- described multiple
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种动态生成响应式网页的方法和一种动态生成响应式网页的装置,其中,所述动态生成响应式网页的方法,包括:加载HTML文件,对所述HTML文件进行解析,以得到多个XML文档对象;根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类;根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。本发明的技术方案降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种动态生成响应式网页的方法和一种动态生成响应式网页的装置。
背景技术
随着手机、平板等各种具有不同屏幕尺寸的显示设备的发展,传统的固定宽度的静态网页由于不能适应屏幕的变化,导致用户体验效果不佳,因此能够针对各种终端和浏览器的不同显示样式进行自适应的响应式网页应运而生,但是开发一个支持响应式网页的应用程序的技术门槛很高,缺少有效的编程方法将多个普通的静态网页的HTML(Hyper Text MarkupLanguage,超文本标记语言)文件转化为响应式网页,并且效率低下,不灵活。
因此,如何能够灵活地生成响应式网页,同时降低响应式网页的开发门槛,提高响应式网页的开发效率成为亟待解决的技术问题。
发明内容
本发明正是基于上述技术问题,提出了一种新的动态生成响应式网页的方案,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
有鉴于此,本发明提出了一种动态生成响应式网页的方法,包括:加载HTML文件,对所述HTML文件进行解析,以得到多个XML文档对象;根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类;根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
在该技术方案中,通过将所述HTML文件解析成多个XML(Extensible Markup Language,可扩展标记语言)文档对象,能够在XML文档下对文档对象进行分类,并实现其它程序对文档对象的搜索,通过每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并按照类型对特殊对象再次分类,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理(如根据实际终端屏幕与浏览器的显示属性进行相应的处理),进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
在上述技术方案中,优选地,生成所述响应式网页的步骤具体为:针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
在该技术方案中,通过根据不同终端的显示属性,对每类XML对象进行优化,能够使得每类文档对象转换为适应于具有不同显示属性的终端的文档对象,从而使得最终生成的网页能够适应于具有不同显示属性的终端,进而带给用户最佳的视觉体验。其中,不同终端具有不同的显示属性包括终端系统平台、屏幕大小与长宽比例、显示方向等。
在上述技术方案中,优选地,针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理的步骤具体为:根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
在该技术方案中,根据获取到的不同终端的屏幕比例和显示方向,对网页内容区域的大小和每类XML文档对象的显示方式进行设定,使得最终生成的响应式网页能够自适应于具有不同屏幕比例和显示方向的终端,进而提高用户的视觉体验。
在上述技术方案中,优选地,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;设定每类所述XML文档对象的显示方式的步骤具体为:根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸;根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
在该技术方案中,通过根据设定的所述树形结构中根节点的显示尺寸,遍历所述多个XML文档对象,以设置每个XML文档对象的显示尺寸,使得能够自动对每个XML文档对象的显示尺寸进行设置,进而提高响应式网页的生成效率,提高用户体验。
在上述技术方案中,还包括:检测浏览器支持的显示样式;根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
在该技术方案中,通过根据浏览器支持的显示样式对多个XML文档对象进行处理,使得XML文档对象的显示样式能够适应于不同的浏览器,同时也能够解决不同浏览器的兼容问题,提高了用户的使用体验。
根据本发明的第二方面,还提出了一种动态生成响应式网页的装置,包括:用于加载HTML文件;用于对所述HTML文件进行解析,以得到多个XML文档对象;用于根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并用于根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;用于根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
在该技术方案中,通过将所述HTML文件解析成多个XML文档对象,能够在XML文档下对文档对象进行分类,并实现对文档对象的搜索,通过每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并按照类型对特殊对象再次分类,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理(如根据实际终端屏幕与浏览器的显示属性进行相应的处理),进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
在上述技术方案中,优选地,所述处理单元208具体用于:针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
在该技术方案中,通过根据不同终端的显示属性,对每类XML对象进行优化,能够使得每类文档对象转换为适应于具有不同显示属性的终端的文档对象,从而使得最终生成的网页能够适应于具有不同显示属性的终端,从而带给用户最佳的视觉体验。其中,不同终端具有不同的显示属性包括终端系统平台、屏幕大小与长宽比例、显示方向等。
在上述技术方案中,优选地,所述处理单元208具体还用于:根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
在该技术方案中,根据获取到的不同终端的屏幕比例和显示方向,对网页内容区域的大小和每类XML文档对象的显示方式进行设定使得最终生成的响应式网页能够自适应于具有不同屏幕比例和显示方向的终端。
在上述技术方案中,优选地,所述解析单元204具体用于,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;所述处理单元具体还用于,根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸,并用于根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
在该技术方案中,通过根据设定的所述树形结构中根节点的显示尺寸,遍历所述多个XML文档对象,以设置每个XML文档对象的显示尺寸,使得能够自动对每个XML文档对象的显示尺寸进行设置,进而提高响应式网页的生成效率,提高用户体验。
在上述技术方案中,优选地,还包括:检测单元210,用于检测浏览器支持的显示样式;所述处理单元208具体还用于,根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
在该技术方案中,通过根据浏览器支持的显示样式对多个XML文档对象进行处理,使得XML文档对象的显示样式能够适应于不同的浏览器,同时也能够解决不同浏览器的兼容问题,进而提高了用户的使用体验。
通过以上技术方案,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理,进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
附图说明
图1示出了根据本发明的一个实施例的动态生成响应式网页的方法的示意流程图;
图2示出了根据本发明的一个实施例的动态生成响应式网页的装置的示意框图;
图3示出了根据本发明的一个实施例的动态生成响应式网页的装置的总体架构示意图;
图4是根据本发明的一个实施例的动态生成响应式网页的装置的具体结构示意图;
图5示出了根据本发明的一个实施例的HTML文件解析过程示意图;
图6示出了根据本发明的一个实施例的响应式元素归集模块的结构示意图;
图7示出了根据本发明的一个实施例的动态转换与生成模块的结构示意图;
图8示出了根据本发明的一个实施例的流式布局转换的过程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的动态生成响应式网页的方法的示意流程图。
如图1所示,根据本发明的一个实施例的动态生成响应式网页的方法,包括:步骤102,加载HTML文件,对所述HTML文件进行解析,以得到多个XML文档对象;步骤104,根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类;步骤106,根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;步骤108,根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
在该技术方案中,通过将所述HTML文件解析成多个XML文档对象,能够在XML文档下对文档对象进行分类,并实现对文档对象的搜索,通过每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并按照类型对特殊对象再次分类,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理(如根据实际终端屏幕与浏览器的显示属性进行相应的处理),进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
在上述技术方案中,优选地,生成所述响应式网页的步骤具体为:针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
在该技术方案中,通过根据不同终端的显示属性,对每类XML对象进行优化,能够使得每类文档对象转换为适应于具有不同显示属性的终端的文档对象,从而使得最终生成的网页能够适应于具有不同显示属性的终端,进而带给用户最佳的视觉体验。其中,不同终端具有不同的显示属性包括终端系统平台、屏幕大小与长宽比例、显示方向等。
在上述技术方案中,优选地,针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理的步骤具体为:根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
在该技术方案中,根据获取到的不同终端的屏幕比例和显示方向,对网页内容区域的大小和每类XML文档对象的显示方式进行设定,使得最终生成的响应式网页能够自适应于具有不同屏幕比例和显示方向的终端,进而提高用户的视觉体验。
在上述技术方案中,优选地,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;设定每类所述XML文档对象的显示方式的步骤具体为:根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸;根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
在该技术方案中,通过根据设定的所述树形结构中根节点的显示尺寸,遍历所述多个XML文档对象,以设置每个XML文档对象的显示尺寸,使得能够自动对每个XML文档对象的显示尺寸进行设置,进而提高响应式网页的生成效率,提高用户体验。
在上述技术方案中,还包括:检测浏览器支持的显示样式;根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
在该技术方案中,通过根据浏览器支持的显示样式对多个XML文档对象进行处理,进而使得XML文档对象的显示样式能够适应于不同的浏览器,同时也能够解决不同浏览器的兼容问题,提高了用户的使用体验。
图2示出了根据本发明的一个实施例的动态生成响应式网页的装置的示意框图。
如图2所示,根据本发明的一个实施例的动态生成响应式网页的装置200,包括:加载单元202,用于加载HTML文件;解析单元204,用于对所述HTML文件进行解析,以得到多个XML文档对象;分类单元206,用于根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并用于根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;处理单元208,用于根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
在该技术方案中,通过将所述HTML文件解析成多个XML文档对象,能够在XML文档下对文档对象进行分类,并实现其它程序对文档对象的搜索,通过每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并按照类型对特殊对象再次分类,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理(如根据实际终端屏幕与浏览器的显示属性机芯响应的处理),进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
在上述技术方案中,优选地,所述处理单元208具体用于:针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
在该技术方案中,通过根据不同终端的显示属性,对每类XML对象进行优化,能够使得每类文档对象转换为适应于具有不同显示属性的终端的文档对象,从而使得最终生成的网页能够适应于具有不同显示属性的终端,进而带给用户最佳的视觉体验。其中,不同终端具有不同的显示属性包括终端系统平台、屏幕大小与长宽比例、显示方向等。
在上述技术方案中,优选地,所述处理单元208具体还用于:根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
在该技术方案中,根据获取到的不同终端的屏幕比例和显示方向,对网页内容区域的大小和每类XML文档对象的显示方式进行设定,使得最终生成的响应式网页能够自适应于具有不同屏幕比例和显示方向的终端,进而提高用户的视觉体验。
在上述技术方案中,优选地,所述解析单元204具体用于,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;所述处理单元具体还用于,根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸,并用于根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
在该技术方案中,通过根据设定的所述树形结构中根节点的显示尺寸,遍历所述多个XML文档对象,以设置每个XML文档对象的显示尺寸,使得能够对每个XML文档对象的显示尺寸进行设置的繁琐步骤,进而提高响应式网页的生成效率,提高用户体验。
在上述技术方案中,优选地,还包括:检测单元210,用于检测浏览器支持的显示样式;所述处理单元208具体还用于,根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
在该技术方案中,通过根据浏览器支持的显示样式对多个XML文档对象进行处理,使得XML文档对象的显示样式能够适应于不同的浏览器,同时也能够解决不同浏览器的兼容问题,提高了用户的使用体验。
图3示出了根据本发明的一个实施例的动态生成响应式网页的装置的总体架构示意图。
如图3所示,实现动态生成响应式网页,首先是通过内容获取模块302获取内容来源,内容既可以是空白文档也可以是既有传统网页。在此基础上文件解析模块304对内容进行读取和解析。通过文件解析模块304将文本字符串解析为XML对象,为后面的动态生成与转换做准备。
动态生成模块306在响应式元素归集模块3062中的响应式规则字典集的支持下,对元素进行归集,并通过动态转换与生成模块3064添加和转换为响应式元素。最后输出成响应式网页应用程序,如果是对于复杂的结构转换通过自定义解析和生成规则,以实现功能的扩展。
图4是根据本发明的一个实施例的动态生成响应式网页的装置的具体结构示意图。
如图4所示,针对动态生成响应式网页的装置的每一个模块进行详细说明:
内容获取模块302:
对于内容来源,提供了多种方式。既可以是空白文档也可以是既有传统网页。既支持本地文件,还可以是URL地址。
文件解析模块304:
内容通过文本流的方式读取到内存,通过关键字符判断和正则表达验证,循环分析HTML文本。将文本转换成对象,并转换成树形XML文档对象。
如果是空白文档,系统会自动生成标准HTML的结构,标准HTML结构包括:文档声明、根结构、头结构、主体结构;否则将对文本进行解析,在解析过程中生成元素的对象,对象类型包括:文件、元素、解释、文本。
文件解析模块304的处理流程如图5所示,包括:
步骤502,读取HTML文件为文本。
步骤504,判断HTML文件是否为空白文档,若是,执行步骤506,若否,执行步骤508。
步骤506,生成基本结构。
步骤508,通过关键字符判断和正则表达式验证,循环分析HTML文本。
步骤510,处理元素大小位置属性。
步骤512,将HTML文本转换为XML对象,并转换成树形XML。
步骤514,搜索XML文档对象,并进行分组。
在后续的流式布局转换中需要知道元素的大小位置,因此如果元素指定了大小位置属性,则在每个解析对象上添加记录元素的大小位置的属性。另外为了对元素进行响应式转换与生成,需要对元素进行分组,具体可参照图4所示。由于解析后的对象是XML文档对象,所以支持搜索。一个解析对象可表示为:
<对象类型>
<ID/>
<属性/>
<内容/>
<分组/>
<大小位置/>
</对象类型>
动态生成模块306:
此模块包含响应式元素归集、动态转换与生成和响应式规则字典集三个部分。响应式规则字典集部分定义了解析的匹配条件、生成的响应式内容等。响应式元素归集部分根据响应式规则字典集对XML文档的解析对象再次进行归集,将特殊处理的图片、导航信息等内容归集为独立集合,供动态转换与生成部分处理。动态转换与生成部分搜索分组,重新动态生成响应式解析对象代替旧有的解析对象。
A、响应式规则字典集结构如下:
主集合:[关键字],[元素类型],[分组],[查询条件],[标准值],[序号]
子集合:[关键字],[属性名],[内容],[序号]
响应式规则字典集定义了所有响应式最佳实践的定义,包括媒体查询、网页样式处理、网页脚本处理等规则定义。
B、响应式元素归集模块3062的结构如图6所示,对于HTML解析过程中的分组,对生成响应式网页来说是不够的。还需要进行二次分组,分组内容包括视频、音频的媒体标签、图片集合、导航菜单与结构布局定义。由于导航和结构布局的生成方式多种多样,本装置系统预置支持了有限的几种典型模式。可以通过归集扩展模块来自定义扩展匹配条件及转换内容规则,提供更加灵活的方式满足个性化需求。
C、动态转换与生成模块3064的结构如图7所示,其中:
(1)文档声明处理模块是给浏览器提供信息,告诉浏览器用“标准模式”渲染页面。通过“doctype声明”分组找到相应解析对象,将响应式规则字典集中的对应属性赋值,如果文档声明不存在则添加标准值。
(2)媒体查询处理模块可以实现根据设备显示的特性为其设定显示样式。例如,可以仅使用几行代码,就可以根据诸如视口宽度、屏幕比例、设备方向(横向或纵向)等特性来改变页面内容的显示方式。通过视口配置表和网页样式处理模块,查询“Meta元信息”、“Style样式”分组,可以生成不同视口下链接的样式文件或者内联样式内容。
媒体查询目前的效果更像是一个自适应设计,而且过多的样式会造成页面加载变慢。因此接下来还需要网页脚本处理模块和流式布局转换模块来进一步完善。
(3)使用百分比布局创建流动的弹性界面,同时使用媒体查询来限制元素的变动范围。将这两者组合到一起构成了响应式设计的核心。流式布局转换模块将遍历树形XML文档对象,将每个解析对象的大小属性从具体单位(如像素)转换为相对尺寸。如果是布局转换为百分比,如果是字体转换为em测量单位。公式如下:
目标元素大小÷上下文元素大小=百分比(相对尺寸)
流式布局转换的整体流程如图8所示,具体包括:
步骤802,读取当前XML文档对象。
步骤804,判断当前XML文档对象是否为根对象,若是,则执行步骤806,若否,执行步骤808。
步骤806,默认以100%的百分比布局或lem处理对象。
步骤808,获取父对象信息。
步骤810,生成当前对象的布局。
步骤812,判断XML文档对象是否为图片,若是,则执行步骤814;否则,执行步骤816。
步骤814,设置图片大小的阈值。
步骤816,更新当前对象。
步骤818,判断是否有下个对象,若是,则执行步骤802,若否,结束。
经过流式布局转换模块的处理,内容已能够基本自动适应视口的变化,随着用户增大或者减小字体,使用流式布局的元素的宽度也会等比例地变化。另外,只需要调整初始化时的基准,其余部分就会自动地进行调整,而且是按比例调整的。
(4)跨浏览器处理模块是为了解决老版本浏览器不支持媒体查询等新特性,造成显示错误的问题。跨浏览器处理模块还利用腻子脚本(polyfill)来补平老版本浏览器的缺陷,使生成的响应式网页可以在多种设备和浏览器下获得相同的功能。跨浏览器处理模块与网页脚本处理模块一起处理相关脚本,通过检测机制,按需加载响应式网页所需要的样式和脚本内容。通过脚本获取视口实际大小加载样式,模拟媒体查询等。
通过这两个模块,可以让动态生成的网页可以在不同类型、不用版本的浏览器下,对媒体查询特征提供支持,并且可以对如媒体查询的样式文件,按需加载。
如:通过定义load方法,对特性进行test检测,如果满足条件则加载需要的内容。
(5)通过流式布局转换模块,图片已经随着流动布局相应缩放。但是图片尺寸必须比其显示尺寸更大以保证渲染效果。另外在小设备上显示大图片也会带来性能的问题。为了解决该问题,可以为不同的屏幕尺寸提供不同的图片,这种解决方案允许基于一组屏幕尺寸断点,根据用户需要为其提供不同的图片。这就需要弹性图片处理模块。
将图片的来源抽离出来,使用关键字代替,再通过脚本统一调用服务端的处理逻辑。传递屏幕大小给服务器,服务器创建并缓存一张缩放后的图片。图片一旦被创建,就会被保存到服务器指定文件夹中,这样就不必在第二次用到它们时再次生成了。这里还有另外一个配置选项可以用来指定浏览器可以缓存多久图片。
尽管不可能在每一个图片大小都进行动态缩放给浏览器显示,但是,结合媒体查询、流式布局,生成某断点下最接近的尺寸图片,保证了图片的清晰度,同时带来最佳性能。
(6)不是每一次生成都需要用到所有模块,通过生成配置表可以选择使用哪些模块来处理来源文档。导航处理模块和结构布局模块与其他模块类似处理逻辑,导航处理模块负责将页面导航转换为一个下拉菜单。在视口很小不足以显示完整导航内容或者显示体验不佳时,自动显示为下拉菜单。结构布局模块负责将元素类型进行转换,以符合全新的语义化。本装置对页面导航、结构布局预置了固定的转换类型,可以通过生成扩展模块,根据实际需求自定义扩展。
至此,通过以上模块的一系列处理,我们可以动态的将文档内容生成为响应式的网页应用程序。兼顾了可配置、可扩展性。大大提高了前端应用开发效率。
以上结合附图详细说明了本发明的技术方案,由于现有技术中,对于响应式网页的应用程序的开发技术门槛很高,且对于普通网页转换为响应式网页处理都是在原有网页的HTML程序之内进行操作的,因而不能实现对多个HTML程序进行统一转换,导致不能有效率地将大量的普通HTML文件转换成能够适应不同终端、不同浏览器的响应式网页。因此,本发明提出了一种动态生成响应式网页的方案,能够灵活地对不同属性、不同类型的XML文档对象进行不同的处理,进而使之生成的响应式网页能够适应具有不同显示属性的终端屏幕与浏览器,降低了响应式网页的开发门槛,提高了响应式网页的开发效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动态生成响应式网页的方法,其特征在于,包括:
加载HTML文件,对所述HTML文件进行解析,以得到多个XML文档对象;
根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类;
根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;
根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
2.根据权利要求1所述的动态生成响应式网页的方法,其特征在于,生成所述响应式网页的步骤具体为:
针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
3.根据权利要求2所述的动态生成响应式网页的方法,其特征在于,针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理的步骤具体为:
根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
4.根据权利要求3所述的动态生成响应式网页的方法,其特征在于,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;
设定每类所述XML文档对象的显示方式的步骤具体为:
根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸;
根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
5.根据权利要求1至4中任一项所述的动态生成响应式网页的方法,其特征在于,还包括:
检测浏览器支持的显示样式;
根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
6.一种动态生成响应式网页的装置,其特征在于,包括:
加载单元,用于加载HTML文件;
解析单元,用于对所述HTML文件进行解析,以得到多个XML文档对象;
分类单元,用于根据所述多个XML文档对象中每个XML文档对象的属性信息对所述多个XML文档对象进行分类,并用于根据特殊对象的匹配方法在所述多个XML文档对象中匹配所述特殊对象,并将匹配到的所述特殊对象按照类型进行再次分类;
处理单元,用于根据所述多个XML文档对象的分类情况,对每类所述XML文档对象进行处理,以生成所述响应式网页。
7.根据权利要求6所述的动态生成响应式网页的装置,其特征在于,所述处理单元具体用于:
针对不同终端的显示属性,对每类所述XML文档对象进行相应的优化处理,以生成与每个所述终端的显示属性相对应的网页。
8.根据权利要求7所述的动态生成响应式网页的装置,其特征在于,所述处理单元具体还用于:
根据每个所述终端的屏幕比例和显示方向,设定对应的网页内容区域的大小和每类所述XML文档对象的显示方式。
9.根据权利要求8所述的动态生成响应式网页的装置,其特征在于,所述解析单元具体用于,对所述HTML文件进行解析,得到的所述多个XML文档对象的结构为树形结构;
所述处理单元具体还用于,根据每个所述终端的屏幕比例和显示方向,设定所述树形结构中根节点的显示尺寸,并用于根据所述根节点的显示尺寸,依次遍历所述多个XML文档对象,以设置所述多个XML文档对象中每个XML文档对象的显示尺寸。
10.根据权利要求6至9中任一项所述的动态生成响应式网页的装置,其特征在于,还包括:
检测单元,用于检测浏览器支持的显示样式;
所述处理单元具体还用于,根据所述浏览器支持的显示样式,对所述多个XML文档对象进行处理,以使处理后的所述多个XML文档对象的显示样式适应于所述浏览器支持的显示样式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410479018.4A CN104267941B (zh) | 2014-09-18 | 2014-09-18 | 动态生成响应式网页的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410479018.4A CN104267941B (zh) | 2014-09-18 | 2014-09-18 | 动态生成响应式网页的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104267941A true CN104267941A (zh) | 2015-01-07 |
CN104267941B CN104267941B (zh) | 2018-01-23 |
Family
ID=52159465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410479018.4A Active CN104267941B (zh) | 2014-09-18 | 2014-09-18 | 动态生成响应式网页的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104267941B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563431A (zh) * | 2018-04-20 | 2018-09-21 | 云宏信息科技股份有限公司 | 软件开发方法、装置、计算机可读存储介质以及电子设备 |
CN109753333A (zh) * | 2019-01-11 | 2019-05-14 | 广州视源电子科技股份有限公司 | 一种界面布局方法、装置、设备及介质 |
TWI670609B (zh) * | 2018-03-29 | 2019-09-01 | 汪純瑩 | 鍵值對表格之響應式網頁生成方法 |
CN111176648A (zh) * | 2018-11-09 | 2020-05-19 | 北京嘀嘀无限科技发展有限公司 | 免安装程序转换处理方法、装置、电子设备及存储介质 |
US11068643B2 (en) | 2019-02-08 | 2021-07-20 | Oracle International Corporation | Client-side customization and rendering of web content |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005181A1 (en) * | 2001-07-02 | 2003-01-02 | David Bau | Annotation based development platform for asynchronous web services |
CN102457528A (zh) * | 2010-10-19 | 2012-05-16 | 北京邮电大学 | 面向手机终端的自适应发布Web内容的方法与系统 |
CN102486792A (zh) * | 2010-12-06 | 2012-06-06 | 腾讯科技(深圳)有限公司 | 一种将通用论坛页面重新组织和显示的方法及系统 |
-
2014
- 2014-09-18 CN CN201410479018.4A patent/CN104267941B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005181A1 (en) * | 2001-07-02 | 2003-01-02 | David Bau | Annotation based development platform for asynchronous web services |
CN102457528A (zh) * | 2010-10-19 | 2012-05-16 | 北京邮电大学 | 面向手机终端的自适应发布Web内容的方法与系统 |
CN102486792A (zh) * | 2010-12-06 | 2012-06-06 | 腾讯科技(深圳)有限公司 | 一种将通用论坛页面重新组织和显示的方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI670609B (zh) * | 2018-03-29 | 2019-09-01 | 汪純瑩 | 鍵值對表格之響應式網頁生成方法 |
CN108563431A (zh) * | 2018-04-20 | 2018-09-21 | 云宏信息科技股份有限公司 | 软件开发方法、装置、计算机可读存储介质以及电子设备 |
CN111176648A (zh) * | 2018-11-09 | 2020-05-19 | 北京嘀嘀无限科技发展有限公司 | 免安装程序转换处理方法、装置、电子设备及存储介质 |
CN111176648B (zh) * | 2018-11-09 | 2024-01-05 | 北京嘀嘀无限科技发展有限公司 | 免安装程序转换处理方法、装置、电子设备及存储介质 |
CN109753333A (zh) * | 2019-01-11 | 2019-05-14 | 广州视源电子科技股份有限公司 | 一种界面布局方法、装置、设备及介质 |
US11068643B2 (en) | 2019-02-08 | 2021-07-20 | Oracle International Corporation | Client-side customization and rendering of web content |
Also Published As
Publication number | Publication date |
---|---|
CN104267941B (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100461019B1 (ko) | 소형 화면 단말기를 위한 웹 컨텐츠 변환 시스템 및 방법 | |
CN104267941A (zh) | 动态生成响应式网页的方法及装置 | |
CN112100550A (zh) | 一种页面构建方法和装置 | |
US12050652B2 (en) | Service packaging method based on web page segmentation and search algorithm | |
CN103353878A (zh) | 将多种格式的文档显示在网页中的方法 | |
CN101146128A (zh) | 允许小屏幕移动终端访问和浏览www网站的方法 | |
CN112417338B (zh) | 一种页面适配方法、系统及设备 | |
CN103970751A (zh) | 多国语言网页转换系统及方法 | |
CN103309806A (zh) | 一种快速开发测试的装置及方法 | |
CN104375808A (zh) | 界面显示方法及装置 | |
US20150220236A1 (en) | Post-designing method and apparatus based on variant configuration in development of graphic user interface | |
CN104866527A (zh) | 一种动态匹配网页模板的方法及其装置 | |
CN110968314B (zh) | 一种页面生成方法及装置 | |
CN103258058A (zh) | 页面展现方法、系统及浏览器 | |
CN104317931A (zh) | 网页标题的确定方法和装置 | |
CN112947900A (zh) | web应用开发方法、装置、服务器及开发终端 | |
CN111443920A (zh) | 一种框架迁移方法及装置 | |
CN103136172A (zh) | 输出试题的方法和装置 | |
Paternò et al. | Automatically adapting web sites for mobile access through logical descriptions and dynamic analysis of interaction resources | |
CN104735041A (zh) | 离线资源获取方法及装置 | |
CN112749351B (zh) | 链接地址确定方法、装置、计算机可读存储介质及设备 | |
CN106681852A (zh) | 一种浏览器兼容性的调整方法及装置 | |
CN107818073B (zh) | 一种动态表单页面自动转换为html5页面的方法及系统 | |
CN103034730B (zh) | 一种基于安卓平台的数据处理方法和系统 | |
CN102087653A (zh) | 一种发布网站信息的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |