CN102637135A - 用于编译层叠样式表的方法和设备 - Google Patents

用于编译层叠样式表的方法和设备 Download PDF

Info

Publication number
CN102637135A
CN102637135A CN2011100373198A CN201110037319A CN102637135A CN 102637135 A CN102637135 A CN 102637135A CN 2011100373198 A CN2011100373198 A CN 2011100373198A CN 201110037319 A CN201110037319 A CN 201110037319A CN 102637135 A CN102637135 A CN 102637135A
Authority
CN
China
Prior art keywords
css
code
compiling
configuration
browser
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
Application number
CN2011100373198A
Other languages
English (en)
Inventor
李靖威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Oak Pacific Interactive Technology Development Co Ltd
Original Assignee
Beijing Oak Pacific Interactive Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Oak Pacific Interactive Technology Development Co Ltd filed Critical Beijing Oak Pacific Interactive Technology Development Co Ltd
Priority to CN2011100373198A priority Critical patent/CN102637135A/zh
Publication of CN102637135A publication Critical patent/CN102637135A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明的实施方式涉及用于编译层叠样式表的方法和设备。具体地,公开了一种用于对层叠样式表CSS进行编译的方法,包括:对读取自所述层叠样式表的代码进行解析;以及根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。本发明的实施方式还公开了相应的设备。根据本发明的实施方式,可以有效地解决层叠样式表的浏览器兼容性问题。

Description

用于编译层叠样式表的方法和设备
技术领域
本发明的实施方式总体上涉及网络信息技术,更具体地,涉及用于编译层叠样式表的方法和设备。
背景技术
随着网络技术的发展,层叠样式表(Cascading Style Sheet,简称CSS)已成为现代网络信息技术的一个重要组成部分。CSS可以作为单独的文件而存在,也作为代码段被包含在相应Web页面的源代码文件(例如,超文本链接语言HTML文件)之中。CSS可用于定义一组与Web页面的绘制和呈现有关的规则,以用于控制Web页面的外观和/或用户交互。例如,CSS文件可以限定Web页面中的字体、字号、超级链接的样式、对各种用户交互事件的响应,等等。
通过使用CSS来设置Web页面的格式,可实现Web页面的内容与表现形式的分离。Web页面内容存放在HTML文档中,而用于定义表现形式的CSS规则存放在另一个文件中或HTML文档的某一部分(通常为文件头部分)。这样不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。此外,CSS的使用还有利于Web页面的修改,便于Web页面风格的统一。
然而,目前在CSS的开发和使用中,始终存在浏览器的兼容性问题。具体而言,某些老旧类型的浏览器对CSS的支持能力有限,无法按照CSS中指定的样式来绘制和呈现Web页面。此外,某些新型浏览器的页面呈现属性需要用到特殊的CSS声明方式才会生效。这导致需要书写大量的兼容不同浏览器的代码。
举例而言,考虑下面表1中示出的示例性CSS代码,其用于设置Web页面的页面宽度。在表1所示的示例中,由于不同类型浏览器(诸如,IE6、IE7等)以及不同模式(诸如,Gecko内核模式、webkit内核等)的存在,CSS的开发人员必须在层叠样式表中显式地包含针对不同类型浏览器和/或操作模式而编写的不同代码,尽管这些代码本质上都涉及相同的页面属性。
Figure BSA00000434028900021
表1
由于CSS的开发和使用中存在的上述缺陷,在现有技术中,大量的人力、物力和时间资源被花费用于编写针对不同类型目标浏览器但涉及相同属性的代码。这显然还会增加开发人员的学习成本。此外,在使用例如表1所示的现有技术CSS时,每个目标浏览器都必须读取CSS中包含的所有代码,包括自己无法解析的那些,这可能显著影响浏览器执行效率,并且增加了CSS文件的尺寸,增加了网络传输负担。
发明内容
为了克服现有技术中的上述缺陷,本发明的实施方式提供用于编译层叠样式表的方法和设备。
在本发明的一个方面,提供一种用于对层叠样式表进行编译的方法,包括:对读取自所述层叠样式表的代码进行解析;以及根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。
在本发明的可选实施方式中,所述解析包括:确定所述层叠样式表中包含的针对不同类型浏览器的、涉及相同属性的代码段;并且其中所述编译包括:将所述代码段改写为新代码段,使得每个新代码段仅包含针对特定类型浏览器的代码。
在本发明的可选实施方式中,该方法还包括:生成新层叠样式表,使得每个新层叠样式表包含所述新代码段。
在本发明的可选实施方式中,所述解析包括:确定所述层叠样式表中包含的涉及特定类型浏览器无法支持的属性的代码段;并且其中所述编译包括:向所述代码段添加针对所述特定类型浏览器的代码,或者删除所述代码段。在本发明的可选实施方式中,所添加的代码可包含脚本。
在本发明的可选实施方式中,所述解析进一步包括:获取与所述层叠样式表相关联的配置信息。此时,所述解析和编译根据所述配置信息来执行。
在本发明的另一方面,提供一种用于对层叠样式表进行编译的设备,包括:解析装置,配置用于对读取自所述层叠样式表的代码进行解析;以及编译装置,配置用于根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。
根据本发明的各种实施方式,可以针对特定的目标浏览器自适应地编译(优化)层叠样式表,从而克服上文提及的兼容性问题。这样,目标浏览器只需关注对它而言有效的代码,从而降低了Web页面的呈现和绘制过程中出现错误的概率,并且提高了效率。此外,根据本发明的实施方式,可以对已有的大量层叠样式表进行处理,并且开发人员可以继续按照已有的开发习惯来开发层叠样式表,避免增加额外的学习成本。
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示出了根据本发明示例性实施方式的用于编译层叠样式表的方法100的流程图;
图2示出了根据本发明示例性实施方式的用于编译层叠样式表的设备200的框图;以及
图3示出了适合用来实践本发明实施方式的计算机系统300的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
如上文所述,根据本发明的实施方式,提供一种用于编译层叠样式表CSS的方法和设备,用于针对特定的目标浏览器自适应地编译(优化)层叠样式表,从而现有技术中存在的兼容性问题。以此方式,目标浏览器只需关注对它而言有效的代码,降低了Web页面的呈现和绘制过程中出现错误的概率,并且提高了效率。此外,根据本发明的实施方式,可以对已有的大量层叠样式表进行处理。
注意,在下文描述中使用的术语“特定于浏览器的编译”和“定制编译”表达相同的含义,并由此可互换使用。
下面结合附图以示例的方式详细描述本发明的各种实施方式。首先参考图1,其示出了根据本发明实施方式的用于编译层叠样式表的方法100的流程图。应当理解,方法100中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法100可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
方法100开始之后,在步骤S 102,获取与待处理的层叠样式表相关联的配置信息。如上文所述,本发明的主要目的之一是通过修改层叠样式表中涉及某些属性的代码,来克服浏览器兼容性的问题。但是,如本领域已知的,某些属性对于Web页面的呈现可能具有比较关键或重要的作用,修改这些属性可能导致Web页面的呈现和/或行为发生异常。换言之,对某些CSS属性的定制编译可能给Web页面带来一定程度的副作用,例如不安全和不稳定。因此,根据本发明的优选实施方式,允许开发人员在编写CSS文件的同时,提供与该CSS文件相关联的配置信息,用以指示例如该CSS文件中的哪些部分和/或在使用哪些类型的浏览器执行该CSS时,应当执行定制编译。
特别地,根据本发明的实施方式,可以通过此类配置信息来规定:针对某些CSS属性进行定制编译,而针对另一些CSS属性进行常规处理。参见下面的表2,其示出根据本发明一种实施方式的配置信息的示例。在此例中,用户(例如,CSS的开发人员)可以利用表中所示的自定义标签来规定:仅对该CSS中包含的指定属性(position,min-height,float)执行定制编译。
表2
备选地或附加地,根据本发明的实施方式,还可以通过配置信息来指示:针对某些类型的浏览器执行定制编译,而针对另一些类型的浏览器则不执行此类定制编译。
可以理解,在具有配置信息的实施方式中,下文参考步骤S108和S110描述的解析和编译将根据该配置信息来执行。然而,应当理解,步骤S102是可选的。换言之,本发明的实施方式同样适用于不存在此类配置信息的情况。例如,根据本发明的实施方式,默认地可以对层叠样式表中的全部代码进行定制编译。此时,便无需执行步骤S102。
此外,还应当理解,上文所描述的仅仅是配置信息的若干示例。实际上,配置信息可以用于指定与CSS的定制编译有关的任何方面。而且,配置信息可以保存在任何适当的位置,和/或以各种方式与CSS文件相关联。本发明的范围在这些方面均不受限制。
接下来,在步骤S104,读取层叠样式表中包含的代码段。应当理解,步骤S104处的读取可以按照任意的顺序进行。例如,在步骤S104,可以按照顺序的方式读取代码段,即,从当前处理的CSS文件的开始处向后依次读取该CSS文件中包含的代码段。也按照其他任何适当的顺序和/或以并行方式读取代码段。本发明的实施方式在此方面不受限制。
此后,在步骤S106,解析CSS的当前代码段,并继而在步骤S108处,根据步骤S106中解析的结果对该代码段进行特定于浏览器的编译(即,定制编译)。
可以理解,在存在配置信息的情况下,步骤S106处的解析以及步骤S108处的编译二者都将根据步骤S102处获取的配置信息来执行。例如,可以对配置信息中指定的执行/不执行定制编译的属性与步骤S104中读取的代码段中所涉及的属性进行比较,由此确定是否对所涉及的属性执行解析和编译。此外,当配置信息中规定了执行定制编译的目标浏览器类型时,在解析和编译中还可以考虑当前目标浏览器的类型。
下面将详细描述根据本发明实施方式的步骤S106处的解析以及步骤S108处的操作。
根据本发明的某些实施方式,步骤S108的解析可以包括:确定当前代码段是否是针对不同类型浏览器的、涉及相同属性的代码段。例如,参见表3,该代码段中包含针对不同类型浏览器而编写的代码,但是这些代码实质上都涉及相同的属性(在此例中,是页面宽度)。
Figure BSA00000434028900071
表3
在这种情况下,根据本发明的实施方式,在步骤S108中,定制编译可以包括:将该代码段改写为新代码段,使得每个新代码段仅包含针对特定类型浏览器的代码。例如,参见表4,其示出了对表3示出的代码段进行定制编译之后所得的结果。可以看到,在定制编译之后,获得了三组不同的新代码段,分别针对Internet
Figure BSA00000434028900072
(IE)6、IE 7和其他类型的浏览器。在经改写的新代码段中,每个代码段仅包含针对特定类型浏览器的代码。
Figure BSA00000434028900073
表4
根据本发明的实施方式,对于步骤S108获得的结果(例如,表4中示出的新代码段),可以按照多种方式来加以组织和处理。例如,在本发明的某些实施方式中,可以将其组织在诸如SWITH-CASE或者IF-THEN等选择性代码结构中,使得每个目标浏览器可以仅执行与其相关的代码段。备选地,为了进一步减小CSS文件并由此降低网络带宽需求,可以生成多个新层叠样式表,每个新层叠样式表包含步骤S108中得到的一个或多个新代码段。这将在下文参考步骤S112详述。
此外,根据本发明的实施方式,步骤S106处的解析还可以包括:确定该代码段是否包含涉及特定类型浏览器无法支持的属性。如果代码段包含目标浏览器无法支持的属性,则在步骤S108处,可以采用相应的策略对此类代码段进行定制编译。
例如,在一个实施方式中,可以简单地删除目标浏览器所无法支持的属性代码。这不但可以解决浏览器兼容性的问题,还可以减小CSS文件的大小。注意,这里所说的“删除”应宽泛地理解,即确保这段代码不会被特定的目标浏览器执行。由此,“删除”既可以包括实际删除,也可以包括诸如使这段代码变为注释等其他可行手段。本发明的范围在此方面不受限制。
备选地,根据本发明的另一些实施方式,为了解决代码段中包含特定类型浏览器所无法支持的属性这一问题,在步骤S108处,可以通过向这种代码段添加针对所述特定类型浏览器的代码。例如,假设代码段中涉及到的CSS属性A是目标浏览器不支持的属性,则根据本发明的实施方式,可以在该段代码中添加一条或多条新的代码,以尝试通过其他可行的和/或间接的方式实现与属性A相同的Web页面绘制效果。
向CSS文件中直接添加CSS代码虽然是可行的,但是应当理解,在某些情况下这可能引起代码管理的混乱。更重要的是,在很多情况下,对于某些属性来说,无法简单地通过其他属性(或其组合)实现等效的页面呈现效果。为此,根据本发明的实施方式,在步骤S110中,向CSS已有代码段中添加的代码段优选地包括一个或多个脚本(或脚本调用)。
向CSS代码中添加脚本可以按照目前已知或将来开发的任何技术来实现。以Internet
Figure BSA00000434028900091
为例,CSS中存在一种称为“expression”(表达式)的技术,利用该技术可以向CSS代码中插入脚本从而实现动态计算。作为示例,可以通过在CSS文件中插入以下表达式,来实现对IE中文档宽度的设置:
width:
expression(document.body.clientWidth>960?″960px″:
″aut o″);
利用这种机制,当特定类型的目标浏览器无法支持某些属性时,可以利用脚本所实现的函数功能,来实现等效的页面绘制效果。
尽管向CSS代码中插入脚本能够有效地解决浏览器兼容性的问题,但是如本领域已知的,expression技术存在一定的缺陷:它始终尝试不停地执行以实现动态处理的效果,这会对Web页面的性能产生较大影响。为此,根据本发明的某些实施方式,可以在采用expression的同时对其进行改进。举例而言,上文描述的示例可以采用以下方式编写:
width:
expression((function(ele){ele.style.width=document.b
ody.clientWidth>960?′960px′:′auto′;})(this));
这样,该expression将只运行一次,从而在解决兼容性问题的同时,使CSS expression失去动态特性。此外,可以理解,在此类实施方式中,需要与expression调用相关联的脚本函数(例如此例中的“function”),这些函数例如可以定义在一个或多个文件(例如,JavaScript文件)中。
应当理解,上文仅仅是针对IE浏览器而描述的示例,其他向已有CSS代码中插入脚本的方法同样是可能的,本发明的范围在此方面不受限制。
通过上文描述的步骤S106处的解析以及S108处的编译,可以有效地解决针对不同浏览器编写涉及相同属性的冗余代码的问题,并且还可以解决特定类型的浏览器不支持特定属性的问题,从而克服现有技术中存在的兼容性问题。当然,这仅仅是示例性的,根据具体需求和场景,本领域的技术人员还可以想到各种其他的解析和编译操作。由此,针对特定浏览器对层叠样式表进行解析和编译的所有操作,均落在本发明的范围之内。
在步骤S108的定制编译完成之后,方法100进行到步骤S110,在此判断当前层叠样式表中是否包含更多待处理的代码段。如果存在,则方法100返回步骤S104以继续读取下一代码段,并重复后续操作。否则,方法100进行到步骤S112,在此生成经编译的层叠样式表。方法100继而结束。
可以理解,在步骤S112生成的经编译的层叠样式表可以通过直接修改原层叠样式表而获得。特别地,如上文所述,对于将一个代码段改写为多个新代码段的情况,在经编译的CSS中可以利用选择性程序结构来实现。备选地,为了减小CSS文件的大小和/或避免代码管理的潜在混乱,在步骤S112处,可以生成针对不同浏览器的多个新CSS,每个新CSS仅包含对于特定的同类浏览器而言有效的代码段。
应当理解,方法100可以针对CSS中包含的任何适当属性而执行,而不限于上文描述中提及的示例。而且,还应当理解,方法100可以按照实时模式和/或后台模式来执行。具体地,在实时模式中,可以在确定目标浏览器的类型之后,动态调用方法100对相关的层叠样式表进行编译。与此不同,在后台模式中,可以预先使用方法100来处理已有的层叠样式表
此外,如上所述,在上文结合图1描述的方法100中,所示出的步骤顺序并不是必须的。例如,可以理解,步骤S102和S104的顺序显示是可以互换的。而且,根据本发明的某些实施方式,对不同代码段的解析和优化可以按照并行方式进行。本发明的范围在此方面不受限制。
现在参考图2,其示出了根据本发明示例性实施方式的用于编译层叠样式表的设备200的框图。根据本发明的实施方式,设备200可以实现为Web服务器的部分。可选地,设备200也可以实现为可与Web服务器和浏览器通信的任何适当的网络设备,例如代理服务器(proxy)等。
如图所示,根据本发明的实施方式,设备200包括:解析装置202,配置用于对读取自所述层叠样式表的代码进行解析;以及编译装置204,配置用于根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。
根据本发明的可选实施方式,设备200还可以包括配置信息获取装置206,配置用于获取与所述层叠样式表相关联的配置信息。在此类实施方式中,解析装置202和编译装置204分别配置用于根据该配置信息来执行解析和编译。
此外,根据本发明的可选实施方式,设备200还可以包括CSS生成装置208,配置用于生成新层叠样式表,使得每个新层叠样式表包含编译装置通过改写已有代码段而生成的新代码段。
特别地,根据本发明的优选实施方式,解析装置202可进一步包括:配置用于确定所述层叠样式表中包含的针对不同类型浏览器的、涉及相同属性的代码段的装置。在此类实施方式中,编译装置204可进一步包括:配置用于将所述代码段改写为新代码段以使得每个新代码段仅包含针对特定类型浏览器的代码的装置。
另外,根据本发明的优选实施方式,解析装置202可进一步包括:配置用于确定所述层叠样式表中包含的涉及特定类型浏览器无法支持的属性的代码段的装置。在此类实施方式中,编译装置204可进一步包括:代码添加装置,配置用于向所述代码段添加针对所述特定类型浏览器的代码(特别地,所添加的代码可包含脚本);以及代码删除装置,配置用于删除所述代码段。
为清晰起见,在图2中并未示出各个装置所包含的子装置。然而,应当理解,设备200中记载的装置与参考图1描述的方法100中的步骤相对应。由此,上文针对图1描述的操作和特征同样适用于设备200及其中包含的装置和子装置,在此不再赘述。
还应当理解,设备200可以利用各种方式来实现。例如,在某些实施方式中,设备200可以利用软件和/或固件模块来实现。此外,设备200也可以利用硬件模块来实现。例如,设备200可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。设备200也可以实现为片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
图3示出了适于用来实践本发明实施方式的计算机系统的示意性框图。如图3所示,计算机系统可以包括:CPU(中央处理单元)301、RAM(随机存取存储器)302、ROM(只读存储器)303、系统总线304、硬盘控制器305、键盘控制器306、串行接口控制器307、并行接口控制器308、显示控制器309、硬盘310、键盘311、串行外部设备312、并行外部设备313和显示器314。在这些设备中,与系统总线304耦合的有CPU 301、RAM 302、ROM 303、硬盘控制器305、键盘控制器306、串行控制器307、并行控制器308和显示控制器309。硬盘310与硬盘控制器305耦合,键盘311与键盘控制器306耦合,串行外部设备312与串行接口控制器307耦合,并行外部设备313与并行接口控制器308耦合,以及显示器314与显示控制器309耦合。
应当理解,图3所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
特别地,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图1描述的方法100可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图3所示的RAM 304、ROM 304、硬盘310和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统300上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图3中示出的CPU 301)执行的程序指令。所述程序指令至少可以包括:用于对读取自所述层叠样式表的代码进行解析的指令;以及用于根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译,以得到经编译的层叠样式表的指令。
上文已经结合若干具体实施方式阐释了本发明的精神和原理。本发明的实施方式提供了用于编译层叠样式表CSS的方法和设备。根据本发明的实施方式,可以针对特定的目标浏览器自适应地编译层叠样式表,从而现有技术中存在的兼容性问题。以此方式,目标浏览器只需关注对它而言有效的代码,降低了Web页面的呈现和绘制过程中出现错误的概率,并且提高了效率。此外,根据本发明的实施方式,可以对已有的大量层叠样式表进行处理。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),根据IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (12)

1.一种用于对层叠样式表CSS进行编译的方法,包括:
对读取自所述层叠样式表的代码进行解析;以及
根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。
2.如权利要求1所述的方法,其中
所述解析包括:
确定所述层叠样式表中包含的针对不同类型浏览器的、涉及相同属性的代码段;并且其中
所述编译包括:
将所述代码段改写为新代码段,使得每个新代码段仅包含针对特定类型浏览器的代码。
3.如权利要求2所述的方法,还包括:
生成新层叠样式表,使得每个新层叠样式表包含所述新代码段。
4.如权利要求1所述的方法,其中
所述解析包括:
确定所述层叠样式表中包含的涉及特定类型浏览器无法支持的属性的代码段;并且其中
所述编译包括:
向所述代码段添加针对所述特定类型浏览器的代码;或者删除所述代码段。
5.如权利要求4所述的方法,其中所添加的代码包含脚本。
6.如任一在前权利要求所述的方法,进一步包括:
获取与所述层叠样式表相关联的配置信息;
并且其中,所述解析和编译根据所述配置信息来执行。
7.一种用于对层叠样式表CSS进行编译的设备,包括:
解析装置,配置用于对读取自所述层叠样式表的代码进行解析;以及
编译装置,配置用于根据所述解析的结果对所述层叠样式表进行特定于浏览器的编译。
8.如权利要求7所述的设备,其中
所述解析装置进一步包括:配置用于确定所述层叠样式表中包含的针对不同类型浏览器的、涉及相同属性的代码段的装置;并且其中
所述编译装置进一步包括:配置用于将所述代码段改写为新代码段以使得每个新代码段仅包含针对特定类型浏览器的代码的装置。
9.如权利要求8所述的设备,还包括:
CSS生成装置,配置用于生成新层叠样式表使得每个新层叠样式表包含所述新代码段。
10.如权利要求7所述的设备,其中
所述解析装置包括:配置用于确定所述层叠样式表中包含的涉及特定类型浏览器无法支持的属性的代码段的装置;并且其中
所述编译装置包括:
代码添加装置,配置用于向所述代码段添加针对所述特定类
型浏览器的代码;以及
代码删除装置,配置用于删除所述代码段。
11.如权利要求10所述的设备,其中所添加的代码包含脚本。
12.如权利要求7-11任一项所述的设备,进一步包括:
配置信息获取装置,配置用于获取与所述层叠样式表相关联的配置信息;
并且其中,所述解析装置和编译装置分别配置用于根据所述配置信息来执行所述解析和编译。
CN2011100373198A 2011-02-09 2011-02-09 用于编译层叠样式表的方法和设备 Pending CN102637135A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100373198A CN102637135A (zh) 2011-02-09 2011-02-09 用于编译层叠样式表的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100373198A CN102637135A (zh) 2011-02-09 2011-02-09 用于编译层叠样式表的方法和设备

Publications (1)

Publication Number Publication Date
CN102637135A true CN102637135A (zh) 2012-08-15

Family

ID=46621538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100373198A Pending CN102637135A (zh) 2011-02-09 2011-02-09 用于编译层叠样式表的方法和设备

Country Status (1)

Country Link
CN (1) CN102637135A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440289A (zh) * 2013-08-16 2013-12-11 北京航空航天大学 基于MapReduce的网页不兼容标签并行查找方法
CN103634358A (zh) * 2012-08-27 2014-03-12 深圳中兴网信科技有限公司 一种浏览器适配方法和装置
US20140281923A1 (en) * 2013-03-13 2014-09-18 Usablenet Inc. Methods for processing cascading style sheets and devices thereof
CN104537002A (zh) * 2014-12-15 2015-04-22 山东中创软件商用中间件股份有限公司 一种css兼容性调优的方法及系统
CN104866570A (zh) * 2015-05-22 2015-08-26 国云科技股份有限公司 一种css多浏览器兼容的方法
CN105989126A (zh) * 2015-02-15 2016-10-05 阿里巴巴集团控股有限公司 一种网页显示方法及装置
CN106293785A (zh) * 2015-05-21 2017-01-04 富士通株式会社 对级联样式表的规则集进行优化的方法和装置
CN106528895A (zh) * 2016-12-29 2017-03-22 重庆南华中天信息技术有限公司 一种css资源前端显示装置
CN106599306A (zh) * 2016-12-29 2017-04-26 重庆南华中天信息技术有限公司 网络页面中css样式的兼容显示方法
CN106649820A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种web服务器
CN106648687A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种电子设备
CN106648686A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种web前端css资源请求处理装置
CN106682191A (zh) * 2016-12-29 2017-05-17 重庆南华中天信息技术有限公司 一种css资源前端显示方法
CN106682181A (zh) * 2016-12-29 2017-05-17 重庆南华中天信息技术有限公司 一种web前端css资源请求处理方法
CN107066496A (zh) * 2016-12-29 2017-08-18 重庆南华中天信息技术有限公司 一种兼容不同浏览器和终端设备的页面访问方法
CN107341038A (zh) * 2017-07-26 2017-11-10 成都三零盛安信息系统有限公司 兼容性处理方法、装置及电子设备
CN107463383A (zh) * 2017-08-16 2017-12-12 四川长虹电器股份有限公司 一种HybridAPP中CSS样式兼容不同平台的方法及系统
CN110083383A (zh) * 2019-03-18 2019-08-02 平安普惠企业管理有限公司 浏览器式样兼容方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028167A1 (en) * 2005-07-27 2007-02-01 Microsoft Corporation Incrementally parsing style sheets
US20070220480A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Dynamic generation of cascading style sheets
US7941746B2 (en) * 2007-07-11 2011-05-10 Microsoft Corporation Extended cascading style sheets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070028167A1 (en) * 2005-07-27 2007-02-01 Microsoft Corporation Incrementally parsing style sheets
US20070220480A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Dynamic generation of cascading style sheets
US7941746B2 (en) * 2007-07-11 2011-05-10 Microsoft Corporation Extended cascading style sheets

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634358A (zh) * 2012-08-27 2014-03-12 深圳中兴网信科技有限公司 一种浏览器适配方法和装置
US20140281923A1 (en) * 2013-03-13 2014-09-18 Usablenet Inc. Methods for processing cascading style sheets and devices thereof
US10282401B2 (en) * 2013-03-13 2019-05-07 Usablenet Inc. Methods for processing cascading style sheets and devices thereof
CN103440289B (zh) * 2013-08-16 2016-05-18 北京航空航天大学 基于MapReduce的网页不兼容标签并行查找方法
CN103440289A (zh) * 2013-08-16 2013-12-11 北京航空航天大学 基于MapReduce的网页不兼容标签并行查找方法
CN104537002B (zh) * 2014-12-15 2018-04-17 山东中创软件商用中间件股份有限公司 一种css兼容性调优的方法及系统
CN104537002A (zh) * 2014-12-15 2015-04-22 山东中创软件商用中间件股份有限公司 一种css兼容性调优的方法及系统
CN105989126A (zh) * 2015-02-15 2016-10-05 阿里巴巴集团控股有限公司 一种网页显示方法及装置
CN105989126B (zh) * 2015-02-15 2019-10-01 阿里巴巴集团控股有限公司 一种网页显示方法及装置
CN106293785A (zh) * 2015-05-21 2017-01-04 富士通株式会社 对级联样式表的规则集进行优化的方法和装置
CN104866570A (zh) * 2015-05-22 2015-08-26 国云科技股份有限公司 一种css多浏览器兼容的方法
CN106649820A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种web服务器
CN106648686A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种web前端css资源请求处理装置
CN106682191A (zh) * 2016-12-29 2017-05-17 重庆南华中天信息技术有限公司 一种css资源前端显示方法
CN106682181A (zh) * 2016-12-29 2017-05-17 重庆南华中天信息技术有限公司 一种web前端css资源请求处理方法
CN107066496A (zh) * 2016-12-29 2017-08-18 重庆南华中天信息技术有限公司 一种兼容不同浏览器和终端设备的页面访问方法
CN106648687A (zh) * 2016-12-29 2017-05-10 重庆南华中天信息技术有限公司 一种电子设备
CN106599306A (zh) * 2016-12-29 2017-04-26 重庆南华中天信息技术有限公司 网络页面中css样式的兼容显示方法
CN106528895A (zh) * 2016-12-29 2017-03-22 重庆南华中天信息技术有限公司 一种css资源前端显示装置
CN107341038A (zh) * 2017-07-26 2017-11-10 成都三零盛安信息系统有限公司 兼容性处理方法、装置及电子设备
CN107341038B (zh) * 2017-07-26 2020-11-03 成都三零盛安信息系统有限公司 兼容性处理方法、装置及电子设备
CN107463383A (zh) * 2017-08-16 2017-12-12 四川长虹电器股份有限公司 一种HybridAPP中CSS样式兼容不同平台的方法及系统
CN110083383A (zh) * 2019-03-18 2019-08-02 平安普惠企业管理有限公司 浏览器式样兼容方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN102637135A (zh) 用于编译层叠样式表的方法和设备
Andow et al. {PolicyLint}: investigating internal privacy policy contradictions on google play
US9026903B1 (en) Abstract syntax tree interpreter for generating a valid HTML document
US10534830B2 (en) Dynamically updating a running page
CN103034583B (zh) 一种用于处理软件自动测试脚本的方法和系统
US8762556B2 (en) Displaying content on a mobile device
US10540416B2 (en) Linking source code to running element
EP3143497B1 (en) Interactive viewer of intermediate representations of client side code
US10203943B2 (en) Static analysis and reconstruction of deep link handling in compiled applications
US8745027B1 (en) Jslayout cascading style sheets optimization
CN109145235B (zh) 用于解析网页的方法、装置及电子设备
US9021348B1 (en) Composition of templates using transclusion that guarantee a valid HTML document
TW201520897A (zh) 混合式動態碼編譯裝置、方法及其服務系統
CN107122187A (zh) 一种业务系统异构操作系统访问设计方法
CN111831384A (zh) 语言切换方法和装置、设备及存储介质
CN114153459A (zh) 接口文档生成方法及装置
US20150169533A1 (en) Server-less HTML Templates
AU2011213711B2 (en) Orthogonal transformation of web pages
CN111459537A (zh) 冗余代码去除方法、装置、设备与计算机可读存储介质
CN107608672B (zh) 一种ui模块管理器、ui模块管理方法和系统
CN103634366A (zh) 用于识别网络机器人的方法和设备
US10606569B2 (en) Declarative configuration elements
CN104536751A (zh) 网页源码迁移方法和装置
US10713329B2 (en) Deriving links to online resources based on implicit references
US20150324333A1 (en) Systems and methods for automatically generating hyperlinks

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120815