CN109558138A - 后代选择器处理方法及装置 - Google Patents

后代选择器处理方法及装置 Download PDF

Info

Publication number
CN109558138A
CN109558138A CN201811386727.2A CN201811386727A CN109558138A CN 109558138 A CN109558138 A CN 109558138A CN 201811386727 A CN201811386727 A CN 201811386727A CN 109558138 A CN109558138 A CN 109558138A
Authority
CN
China
Prior art keywords
selector
compressed
css
selection device
progeny selection
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
CN201811386727.2A
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 Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201811386727.2A priority Critical patent/CN109558138A/zh
Publication of CN109558138A publication Critical patent/CN109558138A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于后代选择器处理方法及装置。该方法包括:当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成AST对象;解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象;对选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至应用包。本公开通过在编译应用的源代码时解析CSS后代选择器,能够缩短运行时所需时间,克服相关技术中运行时所用时间较长的问题,并通过将选择器对象的选择器信息进行压缩后保存至应用包,能够减少应用包的下载时间及页面代码的传输时间,提高用户体验。

Description

后代选择器处理方法及装置
技术领域
本公开涉及终端技术领域,尤其涉及后代选择器处理方法及装置。
背景技术
随着智能终端技术的发展,出现了众多基于移动端、个人计算机(PC,PersonalComputer)端的开发平台以及操作系统。而为了将同一款应用推广至不同平台和操作系统,开发者需要针对不同平台和操作系统分别开发不同的版本,这就造成开发成本过高,维护工作量过大。鉴于此,设备商推出了诸如直达应用服务平台等能够提供应用秒开功能的统一平台,直达应用服务平台为用户提供无需下载安装就可以立即使用应用的服务,同时基于直达应用服务平台,开发者仅需编写一套代码,直达服务应用可以运行于Android、IOS、Webview等不同开发平台和操作系统,并且开发者可以通过以编写传统html类似的语言方式来编写直达服务的应用,能够降低开发者对代码的开发成本,减少维护工作量。
相关技术中,通常浏览器以html作为输入,浏览器在运行时通过层叠样式表(CSS,Cascading Style Sheets)解析器(Parser)解析CSS代码,生成样式规则(Style Rules)。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种后代选择器处理方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种后代选择器处理方法,方法包括:
当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
对所述选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至所述应用包。
本公开的实施例提供的技术方案可以包括以下有益效果:该技术方案通过在编译应用的源代码时解析CSS后代选择器,能够缩短运行时所需时间,克服相关技术中运行时所用时间较长的问题,并通过将选择器对象的选择器信息进行压缩后保存至应用包,能够减少应用包的下载时间及页面代码的传输时间,能够提高用户体验。
在一个实施例中,所述将压缩后的选择器信息保存至所述应用包,包括:
将所述压缩后的选择器信息保存至所述应用包的样式对象中与所述压缩后的选择器信息对应的选择器对象的预设第一属性中。
在一个实施例中,所述将压缩后的选择器信息保存至所述应用包,包括:
将所述压缩后的选择器信息保存至所述应用包的样式对象的预设第二属性中;所述预设第二属性用于保存所述样式对象中所有的选择器对象的压缩后的选择器信息。
在一个实施例中,所述解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象,包括:
遍历检测所述AST对象的样式规则的所有的选择器;
当检测到CSS后代选择器时,解析所述CSS后代选择器,生成与所述CSS后代选择器对应的选择器数组;所述选择器数组的元素包括用于存储选择器信息的选择器对象。
在一个实施例中,所述对所述选择器对象的选择器信息进行压缩,包括:
对所述选择器对象的关键字和部分值进行压缩,得到所述压缩后的选择器信息。
根据本公开实施例的第二方面,提供一种后代选择器处理装置,包括:
解析模块,用于当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
生成模块,用于解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
压缩模块,用于对所述选择器对象的选择器信息进行压缩;
保存模块,用于将压缩后的选择器信息保存至所述应用包。
在一个实施例中,所述保存模块将所述压缩后的选择器信息保存至所述应用包的样式对象中与所述压缩后的选择器信息对应的选择器对象的预设第一属性中。
在一个实施例中,所述保存模块将所述压缩后的选择器信息保存至所述应用包的样式对象的预设第二属性中;所述预设第二属性用于保存所述样式对象中所有的选择器对象的压缩后的选择器信息。
在一个实施例中,所述生成模块,包括:
检测子模块,用于遍历检测所述AST对象的样式规则的所有的选择器;
生成子模块,用于当检测到CSS后代选择器时,解析所述CSS后代选择器,生成与所述CSS后代选择器对应的选择器数组;所述选择器数组的元素包括用于存储选择器信息的选择器对象。
在一个实施例中,所述压缩模块对所述选择器对象的关键字和部分值进行压缩,得到所述压缩后的选择器信息。
根据本公开实施例的第三方面,提供一种后代选择器处理装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
对所述选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至所述应用包。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述第一方面所述方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的后代选择器处理方法的流程图。
图2是根据一示例性实施例示出的后代选择器处理方法的流程图。
图3是根据一示例性实施例示出的后代选择器处理装置的框图。
图4是根据一示例性实施例示出的后代选择器处理装置的框图。
图5是根据一示例性实施例示出的后代选择器处理装置的框图。
图6是根据一示例性实施例示出的后代选择器处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
相关技术中,通常浏览器以html作为输入,浏览器在运行时通过CSS Parser解析CSS代码,生成Style Rules。但是,浏览器在运行时解析CSS后代选择器,比较耗费时间,导致运行时所用时间较长,影响用户体验。
为了解决上述问题,本公开实施例提供了一种后代选择器处理方法,方法包括:当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成抽象语法树(AST,Abstract Syntax Tree)对象;解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象;对选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至应用包。本公开实施例提供的后代选择器处理方法,通过在编译应用的源代码时解析CSS后代选择器,能够缩短运行时所需时间,克服相关技术中运行时所用时间较长的问题,提高用户体验。
本公开实施例中涉及的应用(app),例如为混合应用(Hyvrid app),但本公开并不以此为限。为更好的说明本公开中的实施例,对应用进行以下说明:应用通常可以包括:原生应用(Native app)、网页应用(Web app)和混合应用(Hyvrid app);其中,原生应用是针对不同智能手机操作系统单独开发的本地应用,如需使用需要先下载到终端并安装,下载Native app的最常见方法是访问应用程序商店,如苹果的应用商店(App Store)、安卓市场、谷歌商店(Google Play)等。Web应用是一个触屏版的网站,Web应用完全用Html、加瓦脚本(JS,JavaScript)和层叠样式表(CSS,Cascading Style Sheets)等Web技术开发,通过终端的浏览器来访问,缺点是这些基于浏览器的应用无法调用系统应用程序编程接口(API,Application Programming Interface)来实现一些高级功能,也不适合高性能要求的场合。混合应用是一种介于Native app与Web app之间的app,虽然混合应用看上去是一个Native app,但只是一个UI WebView,里面访问的是一个Web App;混合应用的实质是伪造一个浏览器的apk/ipa原生程序,并运行了一个Web app;Hybrid app兼具“Native app良好用户交互体验的优势”和“Web app跨平台开发的优势”,它可以使web开发人员可以几乎零成本的转型成移动应用开发者,并且相同的代码只需进行编译就能实现在多平台的分发,相较于Web app,开发者可以通过包装好的接口,调用大部分常用的系统API;其中,应用平台为用户提供无需下载安装就可以立即使用混合应用的服务,基于应用平台,开发者仅需编写一套代码,混合应用可以运行于Android、IOS、Webview等不同开发平台和操作系统,能够降低开发者对代码的开发成本和维护工作量。
需要说明的是,本公开中应用平台在设计上拥有编译时和运行时,其中:编译时是指,开发者开发应用时,需要编译源代码项目下的页面文件生成加瓦脚本。编译结束时生成应用包。应用平台启动时,下载应用包。运行时是指,应用平台运行时,解析运行应用包。
基于上述分析,提出以下各具体实施例。
图1是根据一示例性实施例示出的一种后代选择器处理方法的流程图,该方法的执行主体可以为混合应用开发平台;如图1所示,该方法包括以下步骤101-103:
在步骤101中,当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成AST对象。
示例的,当开发者使用应用开发平台编译应用的源代码时,即编译时,使用CSS解析器解析CSS代码,将CSS代码转换为AST对象,AST对象包括样式规则(Style Rules)。
在步骤102中,解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象。
示例的,遍历检测AST对象的样式规则的所有的选择器;当检测到CSS后代选择器时,使用CSS后代选择器解析工具,解析CSS后代选择器,生成与CSS后代选择器对应的选择器数组;选择器数组的元素包括用于存储选择器信息的选择器对象。
在步骤103中,对选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至应用包。
示例的,遍历所有选择器数组,对选择器数组所包括的选择器对象的关键字和部分的值进行压缩,得到压缩后的选择器信息;选择器对象的关键字可以包括以下任一种或组合:选择器类型、或选择器名称。压缩规则例如表1所示:
表1
压缩前 压缩后
type:descedant t:d
type:attribute t:a
type:tag t:t
type:universal t:u
type:pseudo t:p
type:pseudo-element t:pe
name:xxx n:xxx
ignoreCase:xxx i:xxx
action:xxx a:xxx
value:xxx v:xxx
示例的,将压缩后的选择器信息保存至应用包得实现方式可以包括以下任意一种方式:
实现方式1:将压缩后的选择器信息保存至应用包的样式对象中与压缩后的选择器信息对应的选择器对象的预设第一属性中。预设第一属性例如为_meta属性,将压缩后的选择器信息保存在应用包的样式对象中对应的选择器对象的_meta属性中。当应用平台将应用包从服务器下载至终端并传输至加瓦脚本线程之后,解析运行应用包,在运行编译后的文件模板的根节点时,先遍历文件中的样式对象,遇到有_meta属性的选择器对象时,对压缩后的选择器信息进行解压,从而解压缩关键字和部分的值。解压缩规则与压缩规则相反。
实现方式2:将压缩后的选择器信息保存至应用包的样式对象的预设第二属性中;预设第二属性用于保存样式对象中所有的选择器对象的压缩后的选择器信息。
本公开的实施例提供的技术方案,通过在编译应用的源代码时解析CSS后代选择器,能够缩短运行时所需时间,克服相关技术中运行时所用时间较长的问题,并通过将选择器对象的选择器信息进行压缩后保存至应用包,能够减少应用包的下载时间及页面代码的传输时间,如此,能够提高用户体验。
图2是根据一示例性实施例示出的一种后代选择器处理方法的流程图。如图2所示,在图1所示实施例的基础上,本公开涉及的后代选择器处理方法可以包括以下步骤201-205:
在步骤201中,当编译应用的源代码生成应用包时,解析源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象。
在步骤202中,遍历检测AST对象的样式规则的所有的选择器。
在步骤203中,当检测到CSS后代选择器时,解析CSS后代选择器,生成与CSS后代选择器对应的选择器数组;选择器数组的元素包括用于存储选择器信息的选择器对象。
在步骤204中,对选择器对象的关键字和部分值进行压缩,得到压缩后的选择器信息。
在步骤205中,将压缩后的选择器信息保存至应用包的样式对象中与压缩后的选择器信息对应的选择器对象的预设第一属性中。
本公开的实施例提供的技术方案,通过在编译时解析CSS后代选择器,缩短运行时所需时间,克服相关技术中运行时所用时间较长的问题,并通过对选择器对象的关键字和部分值进行压缩,减少应用包的下载时间及页面代码的传输时间。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图3是根据一示例性实施例示出的一种后代选择器处理装置的框图;该装置可以采用各种方式来实施,例如在混合应用开发平台中实施装置的全部组件,或者,在混合应用开发平台侧以耦合的方式实施装置中的组件;该装置可以通过软件、硬件或者两者的结合实现上述本公开涉及的方法,如图3所示,该后代选择器处理装置包括:解析模块301、生成模块302、压缩模块303及保存模块304,其中:
解析模块301被配置为当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成AST对象;
生成模块302被配置为解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象;
压缩模块303被配置为对选择器对象的选择器信息进行压缩;
保存模块304被配置为将压缩后的选择器信息保存至应用包。
本公开实施例提供的装置能够用于执行图1所示实施例的技术方案,其执行方式和有益效果类似,此处不再赘述。
在一种可能的实施方式中,保存模块304将压缩后的选择器信息保存至应用包的样式对象中与压缩后的选择器信息对应的选择器对象的预设第一属性中。
在一种可能的实施方式中,保存模块304将压缩后的选择器信息保存至应用包的样式对象的预设第二属性中;预设第二属性用于保存样式对象中所有的选择器对象的压缩后的选择器信息。
在一种可能的实施方式中,如图4所示,图3示出的后代选择器处理装置还可以包括把生成模块302配置成包括:检测子模块401及生成子模块402,其中:
检测子模块401被配置为遍历检测AST对象的样式规则的所有的选择器;
生成子模块402被配置为当检测到CSS后代选择器时,解析CSS后代选择器,生成与CSS后代选择器对应的选择器数组;选择器数组的元素包括用于存储选择器信息的选择器对象。
在一种可能的实施方式中,压缩模块303对选择器对象的关键字和部分值进行压缩,得到压缩后的选择器信息。
图5是根据一示例性实施例示出的一种后代选择器处理装置500的框图,后代选择器处理装置500包括:
处理器501;
用于存储处理器可执行指令的存储器502;
其中,处理器501被配置为:
当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成AST对象;
解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象;
对选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至应用包。
在一个实施例中,上述处理器501还可被配置为:
将压缩后的选择器信息保存至应用包的样式对象中与压缩后的选择器信息对应的选择器对象的预设第一属性中。
在一个实施例中,上述处理器501还可被配置为:
将压缩后的选择器信息保存至应用包的样式对象的预设第二属性中;预设第二属性用于保存样式对象中所有的选择器对象的压缩后的选择器信息。
在一个实施例中,上述处理器501还可被配置为:
遍历检测AST对象的样式规则的所有的选择器;
当检测到CSS后代选择器时,解析CSS后代选择器,生成与CSS后代选择器对应的选择器数组;选择器数组的元素包括用于存储选择器信息的选择器对象。
在一个实施例中,上述处理器501还可被配置为:
对选择器对象的关键字和部分值进行压缩,得到压缩后的选择器信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种后代选择器处理装置的框图。例如,后代选择器处理装置600可以被提供为一服务器。后代选择器处理装置600包括处理组件602,其进一步包括一个或多个处理器,以及由存储器603所代表的存储器资源,用于存储可由处理组件602的执行的指令,例如应用程序。存储器603中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件602被配置为执行指令,以执行上述方法。
后代选择器处理装置600还可以包括一个电源组件606被配置为执行后代选择器处理装置600的电源管理,一个有线或无线网络接口605被配置为将后代选择器处理装置600连接到网络,和一个输入输出(I/O)接口608。后代选择器处理装置600可以操作基于存储在存储器603的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当存储介质中的指令由后代选择器处理装置600的处理器执行时,使得后代选择器处理装置600能够执行如下后代选择器处理方法,方法包括:
当编译应用的源代码生成应用包时,解析源代码中包括的CSS代码,生成AST对象;
解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象;
对选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至应用包。
在一个实施例中,将压缩后的选择器信息保存至应用包,包括:
将压缩后的选择器信息保存至应用包的样式对象中与压缩后的选择器信息对应的选择器对象的预设第一属性中。
在一个实施例中,将压缩后的选择器信息保存至应用包,包括:
将压缩后的选择器信息保存至应用包的样式对象的预设第二属性中;预设第二属性用于保存样式对象中所有的选择器对象的压缩后的选择器信息。
在一个实施例中,解析AST对象的样式规则的CSS后代选择器,生成与CSS后代选择器对应的选择器对象,包括:
遍历检测AST对象的样式规则的所有的选择器;
当检测到CSS后代选择器时,解析CSS后代选择器,生成与CSS后代选择器对应的选择器数组;选择器数组的元素包括用于存储选择器信息的选择器对象。
在一个实施例中,对选择器对象的选择器信息进行压缩,包括:
对选择器对象的关键字和部分值进行压缩,得到压缩后的选择器信息。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种后代选择器处理方法,其特征在于,包括:
当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
对所述选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至所述应用包。
2.根据权利要求1所述的方法,其特征在于,所述将压缩后的选择器信息保存至所述应用包,包括:
将所述压缩后的选择器信息保存至所述应用包的样式对象中与所述压缩后的选择器信息对应的选择器对象的预设第一属性中。
3.根据权利要求1所述的方法,其特征在于,所述将压缩后的选择器信息保存至所述应用包,包括:
将所述压缩后的选择器信息保存至所述应用包的样式对象的预设第二属性中;所述预设第二属性用于保存所述样式对象中所有的选择器对象的压缩后的选择器信息。
4.根据权利要求1所述的方法,其特征在于,所述解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象,包括:
遍历检测所述AST对象的样式规则的所有的选择器;
当检测到CSS后代选择器时,解析所述CSS后代选择器,生成与所述CSS后代选择器对应的选择器数组;所述选择器数组的元素包括用于存储选择器信息的选择器对象。
5.根据权利要求1所述的方法,其特征在于,所述对所述选择器对象的选择器信息进行压缩,包括:
对所述选择器对象的关键字和部分值进行压缩,得到所述压缩后的选择器信息。
6.一种后代选择器处理装置,其特征在于,包括:
解析模块,用于当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
生成模块,用于解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
压缩模块,用于对所述选择器对象的选择器信息进行压缩;
保存模块,用于将压缩后的选择器信息保存至所述应用包。
7.根据权利要求6所述的装置,其特征在于,所述保存模块将所述压缩后的选择器信息保存至所述应用包的样式对象中与所述压缩后的选择器信息对应的选择器对象的预设第一属性中。
8.根据权利要求6所述的装置,其特征在于,所述保存模块将所述压缩后的选择器信息保存至所述应用包的样式对象的预设第二属性中;所述预设第二属性用于保存所述样式对象中所有的选择器对象的压缩后的选择器信息。
9.根据权利要求6所述的装置,其特征在于,所述生成模块,包括:
检测子模块,用于遍历检测所述AST对象的样式规则的所有的选择器;
生成子模块,用于当检测到CSS后代选择器时,解析所述CSS后代选择器,生成与所述CSS后代选择器对应的选择器数组;所述选择器数组的元素包括用于存储选择器信息的选择器对象。
10.根据权利要求6所述的装置,其特征在于,所述压缩模块对所述选择器对象的关键字和部分值进行压缩,得到所述压缩后的选择器信息。
11.一种后代选择器处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
当编译应用的源代码生成应用包时,解析所述源代码中包括的层叠样式表CSS代码,生成抽象语法树AST对象;
解析所述AST对象的样式规则的CSS后代选择器,生成与所述CSS后代选择器对应的选择器对象;
对所述选择器对象的选择器信息进行压缩,将压缩后的选择器信息保存至所述应用包。
12.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
CN201811386727.2A 2018-11-20 2018-11-20 后代选择器处理方法及装置 Pending CN109558138A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811386727.2A CN109558138A (zh) 2018-11-20 2018-11-20 后代选择器处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811386727.2A CN109558138A (zh) 2018-11-20 2018-11-20 后代选择器处理方法及装置

Publications (1)

Publication Number Publication Date
CN109558138A true CN109558138A (zh) 2019-04-02

Family

ID=65866745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811386727.2A Pending CN109558138A (zh) 2018-11-20 2018-11-20 后代选择器处理方法及装置

Country Status (1)

Country Link
CN (1) CN109558138A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688118A (zh) * 2019-10-28 2020-01-14 郑州阿帕斯科技有限公司 一种网页优化方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130226992A1 (en) * 2012-02-24 2013-08-29 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information
CN103500118A (zh) * 2013-10-24 2014-01-08 北京奇虎科技有限公司 一种级联样式表优化方法和装置
CN103529773A (zh) * 2013-09-18 2014-01-22 国家电网公司 一种行为控制脚本语言的自动化转化方法
CN105577719A (zh) * 2014-10-15 2016-05-11 阿里巴巴集团控股有限公司 一种数据压缩方法和装置
CN107015839A (zh) * 2016-09-27 2017-08-04 阿里巴巴集团控股有限公司 一种实现前端事件代理的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130226992A1 (en) * 2012-02-24 2013-08-29 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information
CN103529773A (zh) * 2013-09-18 2014-01-22 国家电网公司 一种行为控制脚本语言的自动化转化方法
CN103500118A (zh) * 2013-10-24 2014-01-08 北京奇虎科技有限公司 一种级联样式表优化方法和装置
CN105577719A (zh) * 2014-10-15 2016-05-11 阿里巴巴集团控股有限公司 一种数据压缩方法和装置
CN107015839A (zh) * 2016-09-27 2017-08-04 阿里巴巴集团控股有限公司 一种实现前端事件代理的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大漠: ""PostCSS深入学习: 压缩和优化CSS"", 《HTTPS://WWW.W3CPLUS.COM/POSTCSS/USING-POSTCSS-FOR-MINIFICATION-AND-OPTIMIZATION.HTML》 *
无: ""PostCSS及其常用插件介绍"", 《HTTPS://WWW.HTML.CN/ARCHIVES/7317》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688118A (zh) * 2019-10-28 2020-01-14 郑州阿帕斯科技有限公司 一种网页优化方法及装置
CN110688118B (zh) * 2019-10-28 2023-05-05 郑州阿帕斯科技有限公司 一种网页优化方法及装置

Similar Documents

Publication Publication Date Title
CN109582395B (zh) 小程序运行方法、装置、电子设备及存储介质
US9063765B2 (en) System and methods for distributed execution of computer executable programs utilizing asymmetric translation
EP3848793A1 (en) Api-based software development platform
CN105068802B (zh) 一种跨设备运行的Web应用软件实现系统和方法
CN104991773A (zh) 程序生成方法及装置
CN109710260B (zh) 一种基于多平台的小程序代码转换方法
US10754628B2 (en) Extracting web API endpoint data from source code to identify potential security threats
CN107015841B (zh) 一种程序编译的预处理方法及程序编译设备
CN111381817A (zh) 实现跨平台多语言开发的方法、装置、介质和电子设备
CN110895471A (zh) 安装包生成方法、装置、介质及电子设备
CN108170430B (zh) 一种界面展示的方法及系统
CN113031932A (zh) 项目开发方法、装置、电子设备及存储介质
CN112328219A (zh) 业务访问处理方法、装置、系统和计算机设备
CN110928545B (zh) 组件分发方法、单页应用的开发方法、装置及存储介质
US9122489B1 (en) Extended language precompiler
CN109558138A (zh) 后代选择器处理方法及装置
JP3757235B2 (ja) ネイティブコンパイル方法、ネイティブコンパイル前処理方法、コンピュータプログラム、サーバ、通信システム、および移動体通信端末装置
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN105094787B (zh) 企业互联网应用的处理方法及装置
CN106681781A (zh) 实时计算业务的实现方法和系统
CN105786465A (zh) 一种脚本语言执行方法及装置
CN109086148A (zh) 一种跨平台调用Web Service服务的方法
CN112650502A (zh) 批处理任务处理方法、装置、计算机设备和存储介质
CN114117440A (zh) 脚本命令漏洞检测方法、漏洞扫描器及存储介质
CN108733377B (zh) 一种App中网页端与手机端的JS交互方法

Legal Events

Date Code Title Description
PB01 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190402