CN106775826B - 一种使用注解方式加载代码文件的方法及*** - Google Patents
一种使用注解方式加载代码文件的方法及*** Download PDFInfo
- Publication number
- CN106775826B CN106775826B CN201611050662.5A CN201611050662A CN106775826B CN 106775826 B CN106775826 B CN 106775826B CN 201611050662 A CN201611050662 A CN 201611050662A CN 106775826 B CN106775826 B CN 106775826B
- Authority
- CN
- China
- Prior art keywords
- code file
- annotation
- code
- downloading
- files
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及浏览器应用领域,公开了一种使用注解方式加载代码文件的方法,包括:步骤S1:下载代码文件至浏览器中并执行,其中,与其它代码文件相关联的代码文件中定义有注解,所述注解中含有指向相关联代码文件的下载地址;步骤S2:判断代码文件中是否定义有注解;步骤S3:若是,则下载注解所指向的代码文件至浏览器中并执行,然后返回步骤S2,若否,则结束。本发明还公开了一种使用注解方式加载代码文件的***。本发明能够有效提高浏览器加载网页的速度。
Description
技术领域
本发明涉及浏览器应用领域,具体涉及一种使用注解方式加载代码文件的方法和一种使用注解方式加载代码文件的***。
背景技术
浏览器的网页中经常需要一些代码文件,如一些用来实现网页动态等其它功能的javascript文件,以及一些用来美化网页样式的css文件。通常,浏览器在解析javascript文件和css文件时,依赖的是网页页面中的<script>和<link>标记,<script>用来告知浏览器需要加载javascript文件,<link>用来告知浏览器需要加载css文件。
但随着网页多元化的发展,网页的复杂程度也越来越高,需要使用大量的javascript文件和css文件,且各个javascript文件间或各个css文件间的功能相互交叉,如一个javascript文件中某个功能的实现还需依赖另一个javascript文件中的某个功能,此时必须保证被依赖的那个javascript文件被加载,才能实现网页的某个功能,随着各个javascript文件或css文件间关系的错综复杂,采用此种解析方式,浏览器的崩溃概率也大大增加。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种使用注解方式加载代码文件的方法和一种使用注解方式加载代码文件的***,能够有效提高浏览器加载网页的速度。
为达到以上目的,本发明采取的技术方案是,包括:
步骤S1:下载代码文件至浏览器中并执行,其中,与其它代码文件相关联的代码文件中定义有注解,所述注解中含有指向相关联代码文件的下载地址;
步骤S2:判断代码文件中是否定义有注解;
步骤S3:若是,则下载注解所指向的代码文件至浏览器中并执行,然后返回步骤S2,若否,则结束。
在上述技术方案的基础上,所述代码文件包括javascript文件和css文件。
在上述技术方案的基础上,所述注解包括注解所指向的代码文件的下载方式。
在上述技术方案的基础上,所述下载方式包括同步下载和异步下载。
在上述技术方案的基础上,步骤S1中,代码文件以同步下载方式下载至浏览器中。
在上述技术方案的基础上,步骤S3中,在下载注解所指向的代码文件前,对注解中代码文件的下载方式进行判断:
若为同步下载,则注解所指向的代码文件采用同步下载的方式下载;
若为异步下载,则注解所指向的代码文件采用异步下载的方式下载。
本发明还公开了一种使用注解方式加载代码文件的***,包括:
加载模块,其用于下载代码文件至浏览器;
判断模块,其用于判断代码文件中是否定义有注解,若有,则所述判断模块还用于控制加载模块下载注解所指向的代码文件至浏览器中。
在上述技术方案的基础上,所述代码文件包括javascript文件和css文件。
在上述技术方案的基础上,所述注解包括代码文件的下载方式和下载地址,所述下载方式包括同步下载和异步下载。
在上述技术方案的基础上,所述判断模块还用于判断注解中代码文件的下载方式,若为同步下载,则采用同步下载的方式下载注解所指向的代码文件,若为异步下载,则采用异步下载方式的下载注解所指向的代码文件。
与现有技术相比,本发明一种使用注解方式加载代码文件的方法的优点在于:方法采用注解的方式管理代码文件,通过在代码文件中定义的注解,用以表明当当前代码文件在执行时,告知浏览器需要加载其它的代码文件来配合当前代码来实现网页的动态等其它功能,极大地减少了网页中的<script>标记和<link>标记,各个代码文件之间的关系逻辑也较为清楚,提高了浏览器加载网页的速度,且降低了后期对网页的维护难度,降低了开发人员的工作量。
本发明的一种使用注解方式加载代码文件的方法的***的优点在于:通过注解的方式管理代码文件,判断根据代码文件中的注解,加载注解所指向的代码文件,有效提高浏览器加载网页的速度。
附图说明
图1为本发明一种使用注解方式加载代码文件的方法的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
参见图1所示,本发明提供一种使用注解方式加载代码文件的方法,用于通过浏览器浏览网页时,浏览器加载网页附带的功能性的代码文件,本实施例中,代码文件包括javascript文件和css文件,javascript文件用于实现网页的动态等功能,css文件用以实现美化网站的样式等功能,当浏览器下载javascript文件和css文件并解析后,便能实现网页的某些特定展示功能。本发明的方法包括:
步骤S1:下载代码文件至浏览器中并执行,其中,与其它代码文件相关联的代码文件中定义有注解,注解中含有指向相关联代码文件的下载地址,具体的,若某一代码文件功能的实现需要依赖其它代码文件,则该代码文件与其它代码文件相关联,则该代码文件中定义有注解。代码文件下载到浏览器中的方式包括同步下载和异步下载,同步下载为当浏览器在进行文件的下载操作时,此时将浏览器中的其它程序暂停,当文件下载完毕后,其它程序再继续执行;异步下载为当浏览器在进行文件下载操作的同时,浏览器中的其它程序同时也能够继续执行。该步骤中,使用同步下载的方式下载代码文件至浏览器中。
浏览器在加载网页时,不被其它javascript所依赖的javascript文件均对应有一<script>标记,<script>标记用于告知浏览器需要下载javascript文件,不被其它css文件所依赖的css文件均对应有一<link>标记,<link>标记用以告知浏览器需要下载css文件。
<script>标记完整的形式为<script src=”文件地址”>,src=”文件地址”表示该<script>标记所对应的javascript文件所在的地址,当浏览器在解析网页,识别到网页所携带的<script>标记时,便会匹配该标记上的src,从而得到javascript文件的地址,从而将javascript文件下载到浏览器中。
<link>标记完整的形式为<link href=”文件地址”>,href=”文件地址”表示该<link>标记所对应的css文件所在的地址,当浏览器在解析网页,识别到网页所携带的<link>标记时,便会匹配该标记上的href,从而得到jcss文件的地址,从而将css文件下载到浏览器中。
步骤S2:判断代码文件中是否定义有注解。
注解包括注解所指向的代码文件的下载方式和下载地址,具体的,注解用于对javascript文件或css文件进行管理,注解一般出现在javascript文件或css文件的开头部分,注解的组成包括:一个必须的的”@”符号,一个必须的注解名称,一个可选的其他信息。格式形如:
/**
*@dependson javascript或css文件地址1
*@async
*@dependson javascript或css文件地址2
*@dependson javascript或css文件地址3
*/
*@async用来表示下方的@dependson所指向的代码文件需采用异步下载的方式下载,若没有@async,则下方的@dependson所指向的代码文件需要采用同步下载的方式下载。
步骤S3:若代码文件中没有定义注解,则结束;若代码文件中定义有注解,则下载注解所指向的代码文件至浏览器中并执行,然后返回步骤S2,且在下载注解所指向的代码文件前,还需对注解中代码文件的下载方式进行判断,若为同步下载,则注解所指向的代码文件采用同步下载的方式下载,若为异步下载,则注解所指向的代码文件采用异步下载的方式下载。
具体的,若代码文件中没有定义注解,则结束,即代码文件加载到浏览器中,在执行的过程中没有发现代码文件中定义有注解,则当前代码文件执行完后结束对代码文件的操作;若代码文件加载到浏览器中,在执行的过程中发现代码文件中定义有注解,则对注解进行解析以得到注解信息,若在解析得到的注解信息中发现@async,则该注解信息中@async下方的@dependson所指向的依赖文件,即注解所指向的代码文件需要以异步下载的下载方式下载到浏览器中,@dependson的组成为:@+注解名+其他信息,通过对@dependson进行字符串的截取,得到代码文件的下载地址,然后浏览器读取该下载地址,以异步下载的方式下载代码文件至浏览器中并执行,然后转到步骤S2,进行循环,直至代码文件中不再发现定义有注解,若在解析得到的注解信息中未发现@async,则该注解信息下方的@dependson所指向的依赖文件,即注解所指向的代码文件需要以同步下载的下载方式下载到浏览器中并执行,然后转到步骤S2,进行循环,直至代码文件中不再发现定义有注解。
本方法采用注解的方式管理代码文件,通过在代码文件中定义的注解,用以表明当当前代码文件在执行时,告知浏览器需要加载其它的代码文件来配合当前代码来实现网页的某些功能。若当前代码在执行时,发现代码文件中定义有注解,则加载注解所指向的代码文件至浏览器中执行,且判断注解所指向的代码文件中是否含有注解,若有,则继续下载对应的代码文件执行并判断,依次循环,直至代码文件不再含有注解,则整个代码文件的执行过程结束。
采用注解的方式管理代码文件的方式,不被其它代码文件所依赖的代码文件,即无需配合其它代码文件实现某些功能的代码文件对应有<script>标记或<link>标记,而相互间配合实现某些功能的代码文件,后者代码文件是不含有<script>标记或<link>标记,通过前者代码文件的注解来告知浏览器需要记载的后者代码文件,从而极大地减少了网页中的<script>标记和<link>标记,且各个相关联的代码文件之间的逻辑关系也较为清楚,提高了浏览器加载网页的速度,且降低了后期对网页的维护难度,降低了开发人员的工作量。
本发明还包括一种采用上述方法的使用注解方式加载代码文件的***,该***包括加载模块和判断模块。
加载模块用于下载代码文件至浏览器;判断模块用于判断代码文件中是否定义有注解,若有,则判断模块还用于控制加载模块下载注解所指向的代码文件至浏览器中。
代码文件包括javascript文件和css文件,注解包括代码文件的下载方式和下载地址,下载方式包括同步下载和异步下载,判断模块还用于判断注解中代码文件的下载方式,若为同步下载,则采用同步下载的方式下载注解所指向的代码文件,若为异步下载,则采用异步下载方式的下载注解所指向的代码文件。
通过注解的方式管理代码文件,判断根据代码文件中的注解,加载注解所指向的代码文件,有效提高浏览器加载网页的速度。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (7)
1.一种使用注解方式加载代码文件的方法,其特征在于,包括:
步骤S1:下载代码文件至浏览器中并执行,其中,与其它代码文件相关联的代码文件中定义有注解,所述注解中含有指向相关联代码文件的下载地址;
步骤S2:判断代码文件中是否定义有注解;
步骤S3:若是,则下载注解所指向的代码文件至浏览器中并执行,然后返回步骤S2,若否,则结束;
其中,代码文件包括javascript文件和css文件,且所述浏览器在加载网页时,不被其它javascript所依赖的javascript文件均对应有一<script>标记,不被其它css文件所依赖的css文件均对应有一<link>标记,所述注解包括注解所指向的代码文件的下载方式。
2.如权利要求1所述的一种使用注解方式加载代码文件的方法,其特征在于:所述下载方式包括同步下载和异步下载。
3.如权利要求2所述的一种使用注解方式加载代码文件的方法,其特征在于:步骤S1中,代码文件以同步下载方式下载至浏览器中。
4.如权利要求2所述的一种使用注解方式加载代码文件的方法,其特征在于:步骤S3中,在下载注解所指向的代码文件前,对注解中代码文件的下载方式进行判断:
若为同步下载,则注解所指向的代码文件采用同步下载的方式下载;
若为异步下载,则注解所指向的代码文件采用异步下载的方式下载。
5.一种基于权利要求1所述方法的使用注解方式加载代码文件的***,其特征在于,包括:
加载模块,其用于下载代码文件至浏览器;
判断模块,其用于判断代码文件中是否定义有注解,若有,则所述判断模块还用于控制加载模块下载注解所指向的代码文件至浏览器中。
6.如权利要求5所述的一种使用注解方式加载代码文件的***,其特征在于:所述注解包括代码文件的下载方式和下载地址,所述下载方式包括同步下载和异步下载。
7.如权利要求5所述的一种使用注解方式加载代码文件的***,其特征在于:所述判断模块还用于判断注解中代码文件的下载方式,若为同步下载,则采用同步下载的方式下载注解所指向的代码文件,若为异步下载,则采用异步下载方式的下载注解所指向的代码文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611050662.5A CN106775826B (zh) | 2016-11-22 | 2016-11-22 | 一种使用注解方式加载代码文件的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611050662.5A CN106775826B (zh) | 2016-11-22 | 2016-11-22 | 一种使用注解方式加载代码文件的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775826A CN106775826A (zh) | 2017-05-31 |
CN106775826B true CN106775826B (zh) | 2020-12-15 |
Family
ID=58912756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611050662.5A Active CN106775826B (zh) | 2016-11-22 | 2016-11-22 | 一种使用注解方式加载代码文件的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775826B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170756B (zh) * | 2017-12-22 | 2021-12-03 | 南京邮电大学 | 基于Git仓库的多维度、多视角和可视化注解***的实现方法 |
CN108228231B (zh) * | 2018-01-08 | 2021-07-27 | 南京邮电大学 | 一种Git仓库文件注解***的可视化漂移方法 |
CN112784270A (zh) * | 2021-01-18 | 2021-05-11 | 仙境文化传媒(武汉)有限公司 | 一种使用注解方式加载代码文件的***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808439A (zh) * | 2006-02-21 | 2006-07-26 | 西安迪戈科技有限责任公司 | 网页加入可搜索的深标签及浏览器插件和脚本结合的方法 |
US20090132949A1 (en) * | 2007-11-16 | 2009-05-21 | Jason Bosarge | Methods and systems for transmitting, receiving and annotating internet content |
US20120257249A1 (en) * | 2011-04-08 | 2012-10-11 | Sundaram Natarajan | Cloud and html based fax and document management system |
CN104317941A (zh) * | 2014-10-31 | 2015-01-28 | 新华瑞德(北京)网络科技有限公司 | 应用程序的资源注入方法及装置 |
CN105677326A (zh) * | 2015-12-28 | 2016-06-15 | 国云科技股份有限公司 | 一种软件接口参数验证方法 |
-
2016
- 2016-11-22 CN CN201611050662.5A patent/CN106775826B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808439A (zh) * | 2006-02-21 | 2006-07-26 | 西安迪戈科技有限责任公司 | 网页加入可搜索的深标签及浏览器插件和脚本结合的方法 |
US20090132949A1 (en) * | 2007-11-16 | 2009-05-21 | Jason Bosarge | Methods and systems for transmitting, receiving and annotating internet content |
US20120257249A1 (en) * | 2011-04-08 | 2012-10-11 | Sundaram Natarajan | Cloud and html based fax and document management system |
CN104317941A (zh) * | 2014-10-31 | 2015-01-28 | 新华瑞德(北京)网络科技有限公司 | 应用程序的资源注入方法及装置 |
CN105677326A (zh) * | 2015-12-28 | 2016-06-15 | 国云科技股份有限公司 | 一种软件接口参数验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106775826A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403364B2 (en) | Method and terminal device for extracting web page content | |
CN104461484B (zh) | 前端模板的实现方法和装置 | |
CN109388766B (zh) | 页面加载的方法和装置 | |
US9182953B2 (en) | Hybrid dynamic code compiling device, method, and service system thereof | |
CN106909361B (zh) | 基于模版引擎的web开发方法和装置 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
CN106775826B (zh) | 一种使用注解方式加载代码文件的方法及*** | |
CN105159999A (zh) | 动态页面的展现方法及装置 | |
KR101787527B1 (ko) | 다중 플랫폼 위에서 실행되는 클라이언트 애플리케이션 개발용 프레임워크를 지원하기 위한 장치 및 이를 사용한 방법 | |
CN102741811A (zh) | 改善基于模板的JavaScript小部件的性能 | |
WO2017081558A1 (en) | Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention | |
CN102880708A (zh) | 用于实现html页面的可视化设计的***和方法 | |
CN111427583A (zh) | 组件的编译方法、装置和电子设备及计算机可读存储介质 | |
CN108885544B (zh) | 前端页面国际化处理方法、应用服务器及计算机可读存储介质 | |
CN105094941B (zh) | 一种实现多语言的方法及装置 | |
CN102955852A (zh) | 一种网页资源处理方法、装置及设备 | |
CN110020370B (zh) | 在客户端应用中实现动画的方法、装置及动画脚本的框架 | |
CN105159900B (zh) | 多媒体数据编辑方法和编辑器 | |
CN105022667A (zh) | 一种基于嵌入式浏览器css引擎并行化方法 | |
US20130080876A1 (en) | Using a template processor to determine context nodes | |
CA2602749C (en) | System and method of report representation | |
CN112199626A (zh) | 基于dsl布局引擎的动态表单生成方法 | |
CN112416533A (zh) | 在浏览器上运行应用程序的方法、装置及电子设备 | |
WO2016005886A2 (en) | Self-referencing of running script elements in asychronously loaded dom modules | |
CN103744663A (zh) | 一种基于预缓存技术的Android界面设计框架模型 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |