掌桥专利:专业的专利平台
掌桥专利
首页

浏览器兼容方法、装置、设备及存储介质

文献发布时间:2024-05-31 01:29:11


浏览器兼容方法、装置、设备及存储介质

技术领域

本申请涉及软件工程领域,尤其涉及一种浏览器兼容方法、装置、设备及存储介质。

背景技术

目前的软件系统一般需要支持多种浏览器,由于不同浏览器的内核、呈现引擎、JavaScript解释器以及数据存储之间存在差别,导致软件系统在不同浏览器之间的存在兼容性的问题。

现有技术中为解决浏览器的兼容性问题,一般采用两种服务端渲染(server-siderendering,SSR)方法,其一为react+next+webpack的渲染方案,其二为vue+nuxt+webpack的渲染方案,上述两种渲染方案均为利用webpack的插件系统,安装babel插件,实现编写浏览器兼容性配置,解决浏览器的兼容性问题。

但是,上述两种SSR方法仅对于新项目友好,而目前仍存在大量的上线时间较长的老系统,内部技术栈陈旧,若采用上述两种SSR方法,需要对老系统的框架重构,人力成本较高,且对于系统的安全存在一定的风险。

发明内容

本申请提出一种浏览器兼容方法、装置、设备及存储介质,用于解决浏览器与项目之间不兼容的问题。

为了达到上述目的,本申请采用如下技术方案:

第一方面,提供一种浏览器兼容方法,该方法包括:浏览器兼容装置确定支持目标项目运行的浏览器类型条件,并获取待兼容浏览器的浏览器标识UA,UA包括浏览器名称以及浏览器版本。进一步的,浏览器兼容装置在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,得到编译后源码。最后,浏览器兼容装置根据预设编译工具的转译顺序,运行编译后源码。

在本申请提供的浏览器兼容方法中,浏览器兼容装置通过目标项目所支持的浏览器类型条件,以及用来运行目标项目的待兼容浏览器的UA,确定待兼容浏览器是否支持运行目标项目。进一步的,在待兼容浏览器不支持运行目标项目的情况下,将目标项目引入预设编译工具,实现将目标项目中的源码转译为待兼容浏览器支持运行的源码,进而根据转译的顺序执行转译后的目标项目中的源码,解决浏览器与项目之间不兼容的问题,不需要对项目的框架重构,节约人力成本,避免因人为处理出错而导致的安全风险。

一种可能的设计中,上述浏览器兼容装置在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,包括:浏览器兼容装置确定目标项目中携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。进一步的,浏览器兼容装置去除目标脚本标签携带的编译标识,并通过预设编译工具,对目标脚本标签下的源码进行转译处理。最后,浏览器兼容装置将经过转译处理后的目标脚本标签下的源码,替换目标项目中对应的源码,确定替换后的目标项目中的源码为编译后源码。该设计中通过识别运维人员编译的源码,并进行转译,避免了浏览器兼容装置对目标项目中开源方法库内的源码进行转译处理,节约了浏览器兼容装置的计算资源并加快了源码的转译速度。

一种可能的设计中,上述浏览器兼容方法还包括:浏览器兼容装置确定待编译脚本标签,待编译脚本标签内用于进行项目开发。进一步的,浏览器兼容装置在待编译脚本标签上添加编译标识,得到目标脚本标签;并将待编译源码引入目标脚本标签内,以使得预设编译工具能够识别待编译源码所在的脚本标签,并进行转译处理。该设计中通过将用户编译的脚本标签添加编译标识,使得浏览器兼容装置能够识别到目标脚本标签。另外,后续在目标脚本标签内进行项目开发,能够实现动态转译,在开发过程中,通过待兼容浏览器运行,解决了浏览器与目标项目之间的兼容性问题。

一种可能的设计中,在浏览器类型条件与UA匹配的情况下,上述浏览器兼容方法还包括:浏览器兼容装置确定目标项目中的携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。进一步的,浏览器兼容装置去除目标脚本标签携带的编译标识,得到可执行的目标项目。该设计中,实现了在待兼容浏览器与目标项目不存在兼容性问题的情况下,目标项目能够正常有待兼容浏览器运行。

第二方面,提供一种浏览器兼容装置,包括确定单元、获取单元以及处理单元。确定单元用于确定支持目标项目运行的浏览器类型条件。获取单元用于获取待兼容浏览器的浏览器标识UA,UA包括浏览器名称以及浏览器版本。处理单元用于在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,得到编译后源码。处理单元还用于根据预设编译工具的转译顺序,运行编译后源码。

一种可能的设计中,确定单元还用于确定目标项目中携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。处理单元还用于去除目标脚本标签携带的编译标识。处理单元还用于通过预设编译工具,对目标脚本标签下的源码进行转译处理。确定单元还用于将经过转译处理后的目标脚本标签下的源码,替换目标项目中对应的源码,确定替换后的目标项目中的源码为编译后源码。

一种可能的设计中,确定单元还用于确定待编译脚本标签,待编译脚本标签内用于进行项目开发。处理单元还用于在待编译脚本标签上添加编译标识,得到目标脚本标签。处理单元还用于将待编译源码引入目标脚本标签内,以使得预设编译工具能够识别待编译源码所在的脚本标签,并进行转译处理。

一种可能的设计中,确定单元还用于确定目标项目中的携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。处理单元还用于去除目标脚本标签携带的编译标识,得到可执行的目标项目。

第三方面,提供了一种浏览器兼容设备,该浏览器兼容设备包括存储器和处理器;存储器和处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当处理器执行该计算机指令时,该浏览器兼容设备执行如第一方面或其任一种可能的设计提供的浏览器兼容方法。

第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在浏览器兼容设备上运行时,使得该浏览器兼容设备执行如第一方面或其任一种可能的实现方式提供的浏览器兼容方法。

附图说明

图1为本申请的实施例提供的一种浏览器兼容系统结构示意图;

图2为本申请的实施例提供的一种浏览器兼容方法流程示意图一;

图3为本申请的实施例提供的一种浏览器兼容方法流程示意图二;

图4为本申请的实施例提供的一种浏览器兼容方法流程示意图三;

图5为本申请的实施例提供的一种浏览器兼容方法流程示意图四;

图6为本申请的实施例提供的一种浏览器兼容装置结构示意图;

图7为本申请的实施例提供的一种浏览器兼容设备结构示意图一;

图8为本申请的实施例提供的一种浏览器兼容设备结构示意图二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

现有技术中为解决浏览器的兼容性问题,一般采用两种SSR方法,其一为react+next+webpack的渲染方案,其二为vue+nuxt+webpack的渲染方案,上述两种渲染方案均为利用webpack的插件系统,安装babel插件,实现编写浏览器兼容性配置,解决浏览器的兼容性问题。但是,上述两种SSR方法仅对于新项目友好,而目前仍存在大量的上线时间较长的老系统,内部技术栈陈旧,若采用上述两种SSR方法,需要首先对老系统的框架重构,人力成本较高,且对于系统的安全存在一定的风险。

为解决上述问题,本申请提出一种浏览器兼容方法、装置、设备及存储介质,浏览器兼容装置确定支持目标项目运行的浏览器类型条件,并获取待兼容浏览器的浏览器标识UA,UA包括浏览器名称以及浏览器版本。进一步的,浏览器兼容装置在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,得到编译后源码。最后,浏览器兼容装置根据预设编译工具的转译顺序,运行编译后源码。这样一来,浏览器兼容装置通过目标项目所支持的浏览器类型条件,以及用来运行目标项目的待兼容浏览器的UA,确定待兼容浏览器是否支持运行目标项目。进一步的,在待兼容浏览器不支持运行目标项目的情况下,将目标项目引入预设编译工具,实现将目标项目中的源码转译为待兼容浏览器支持运行的源码,进而根据转译的顺序执行转译后的目标项目中的源码,解决浏览器与项目之间不兼容的问题,不需要对项目的框架重构,节约人力成本,避免因人为处理出错而导致的安全风险。

图1示出一种浏览器兼容系统,本申请实施例提供的浏览器兼容方法可以适用于如图1所示的浏览器兼容系统,用于解决浏览器与项目之间的兼容性问题。如图1所示,浏览器兼容系统10中包括浏览器兼容装置11、服务器12以及客户端设备13。

其中,服务器12分别与浏览器兼容装置11以及客户端设备13连接,上述连接关系中,可以采用有线方式连接,也可以采用无线方式连接,本申请实施例对此不作限定。

需要说明的,浏览器兼容装置11可以与服务器12分别部署于不同设备,浏览器兼容装置11也可以继承于服务器12内部,本申请实施例对此不作具体限定,本申请实施例以浏览器兼容装置11与服务器12分别部署于不同设备为例,对上述浏览器兼容方法进行说明。

客户端设备13用于承载浏览器程序,还用于获取运维人员输入的目标项目。

浏览器兼容装置11可以用于通过服务器12获取运维人员在客户端设备13上输入的目标项目,并确定支持目标项目运行的浏览器类型条件。

浏览器兼容装置11还可以用于通过服务器12获取客户端设备13上承载的浏览器程序的UA。

浏览器兼容装置11还可以用于根据浏览器类型条件以及UA,确定客户端设备13上承载的浏览器程序是否支持目标项目的运行。

浏览器兼容装置11还可以用于将目标项目引入位于服务器的预设编译工具,通过预设编译工具转译目标项目,以使得浏览器程序能够支持目标项目的运行,实现浏览器与项目之间的兼容。

浏览器兼容装置11还可以用于在对目标项目进行转译后,将转译后的目标项目的源码,在服务器12上根据转译顺序运行。

图2是根据一些示例性实施例示出的一种浏览器兼容方法的流程示意图。在一些实施例中,上述浏览器兼容方法可以应用到如图1所示的浏览器兼容系统10中的浏览器兼容装置11。以下,本申请实施例以浏览器兼容方法应用于浏览器兼容装置11为例,对上述浏览器兼容方法进行说明。

如图2所示,本申请实施例提供的浏览器兼容方法,包括下述S201-S205。

S201、浏览器兼容装置确定支持目标项目运行的浏览器类型条件。

作为一种可能的实现方式,浏览器兼容装置通过获取运维人员在客户端设备上输入的目标项目。进一步的,浏览器兼容装置确定目标项目中包括的源码的编译语言以及用户界面(user interface,UI)框架等,确定能够支持目标项目运行的浏览器类型条件为:包括源码的编译语言对应的解释器,以及支持UI框架等对应的条件。

示例性的,若浏览器兼容装置确定目标项目包括的源码的编译语言为java语言,UI框架采用的vue框架。则浏览器兼容装置确定支持目标项目运行的浏览器类型条件为包括java语言对应的解释器,支持vue框架。

S202、浏览器兼容装置获取待兼容浏览器的UA。

其中,包括浏览器名称以及浏览器版本。

作为一种可能的实现方式,浏览器兼容装置通过服务器确定客户端承载的待兼容浏览器。进一步的,浏览器兼容装置采用预设代码获取待兼容浏览器的UA。

示例性的,预设代码如下所示,浏览器兼容装置通过运行如下代码,即可确定待兼容浏览器的UA。

S203、浏览器兼容装置确定浏览器类型条件与UA是否匹配。

作为一种可能的实现方式,浏览器兼容装置基于待兼容浏览器的浏览器名称,查询该浏览器各版本所支持的解释器种类以及UI框架种类。进一步的,浏览器兼容装置确定浏览器类型条件中包括的解释器以及UI框架,是否与待兼容浏览器支持的解释器以及UI框架匹配。

在浏览器类型条件中包括的解释器包含于待兼容浏览器支持的解释器种类中,以及浏览器类型条件中包括的UI框架包含于待兼容浏览器支持的UI框架种类中的情况下,浏览器兼容装置确定浏览器类型条件与UA匹配。

否则,浏览器兼容装置确定浏览器类型条件与UA不匹配。

需要说明的,浏览器兼容装置可以通过预设的浏览器名称、浏览器版本、解释器种类以及UI框架种类的对应关系表,进行查询,确定浏览器各版本所支持的解释器种类以及UI框架种类。

表1:预设关系表

示例性的,若浏览器兼容装置确定待兼容浏览器的浏览器名称为浏览器A,浏览器版本为版本2.0,浏览器类型条件中包括的解释器以及UI框架分别为C++语言解释器以及vue框架,则浏览器兼容装置确定浏览器类型条件与UA匹配。

若浏览器兼容装置确定待兼容浏览器的浏览器名称为浏览器B,浏览器版本为版本1.0,浏览器类型条件中包括的解释器以及UI框架分别为java语言解释器以及QuicK UI框架,则浏览器兼容装置确定浏览器类型条件与UA不匹配。

S204、浏览器兼容装置在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,得到编译后源码。

作为一种可能的实现方式,浏览器兼容装置基于上述步骤S203中确定到浏览器类型条件与UA不匹配时,调用预设编译工具,将目标项目引入预设编译工具,对目标项目进行转译处理,将经过转译处理的目标项目确定为编译后源码。

需要说明的,预设编译工具可以由浏览器兼容系统的运维人员预先设置,以供浏览器兼容装置在需要对目标项目进行转译时进行调用。示例性的,预设编译工具可以包括JavaScript编译器以及polyfill相关脚本工具。

示例性的,若浏览器类型条件中包括支持编程语言A的解释器,而待兼容浏览器不支持编程语言A,但支持编程语言B。则浏览器兼容装置通过将编程语言A的目标项目引入预设编译工具,有预设编译工具将其转译为编程语言B,并在目标项目中替换掉对应的编程语言A,得到编译后源码。

S205、浏览器兼容装置根据预设编译工具的转译顺序,运行编译后源码。

作为一种可能的实现方式,浏览器兼容装置在目标项目转译处理完成后,将目标项目中的源码,按照转译处理过程中,转译的顺序运行,以使得目标项目能够在待兼容浏览器上运行,解决浏览器与目标项目的兼容性问题。

可以理解的,本申请实施例提供的上述浏览器兼容方法中,浏览器兼容装置通过目标项目所支持的浏览器类型条件,以及用来运行目标项目的待兼容浏览器的UA,确定待兼容浏览器是否支持运行目标项目。进一步的,在待兼容浏览器不支持运行目标项目的情况下,将目标项目引入预设编译工具,实现将目标项目中的源码转译为待兼容浏览器支持运行的源码,进而根据转译的顺序执行转译后的目标项目中的源码,解决浏览器与项目之间不兼容的问题,不需要对项目的框架重构,通过预设编译工具转译为待兼容浏览器支持运行的源码即可,节约人力成本,避免因人为处理出错而导致的安全风险。

在一种设计中,本申请实施例提供的浏览器兼容方法中,还提供了一种对目标项目进行转译处理的方法,如图3所示,包括S301-S303。

S301、浏览器兼容装置确定目标项目中携带有编译标识的目标脚本标签。

其中,目标脚本标签为目标项目中携带有编译标识的scrpit标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。

作为一种可能的实现方式,浏览器兼容装置基于上述步骤S201中确定到的目标项目,遍历目标项目中的所有的scrpit标签,将携带有编译标识的scrpit标签确定为目标脚本标签。

需要说明的,运维人员在目标脚本标签下进行项目开发时,在目标脚本标签上添加编译标识。进一步的,目标脚本标签下的源码,可以为通过外部引入的方式,或者内部引入的方式编译。其中,外部引入示例性的可以为运维人员在目标脚本标签下编译脚本链接,内部引入示例性的可以为运维人员在目标脚本标签下编译源码。

S302、浏览器兼容装置去除目标脚本标签携带的编译标识。

作为一种可能的实现方式,浏览器兼容装置在基于上述步骤S301中确定到目标脚本标签后,即表明浏览器兼容装置已确定需要进行转译的目标脚本标签,故将编译标识去除,以使得目标项目在经过后续转译处理后,能够运行。

S303、浏览器兼容装置将将经过转译处理后的目标脚本标签下的源码,替换目标项目中对应的源码,确定替换后的目标项目中的源码为编译后源码。

作为一种可能的实现方式,浏览器兼容装置基于上述步骤S301中确定到的目标脚本标签,将目标脚本标签下的源码引入预设编译工具,通过预设编译工具转译引入的源码,得到待兼容浏览器能够运行的源码。进一步的,浏览器兼容装置将得到的源码替换对应的目标脚本标签下的源码,在所有目标脚本标签下的源码替换完成后,将替换后的目标项目中的源码确定为编译后源码。

可以理解的,本申请上述实施例提供的浏览器兼容方法中,通过识别运维人员编译的源码,并进行转译,避免了浏览器兼容装置对目标项目中开源方法库内的源码进行转译处理,节约了浏览器兼容装置的计算资源并加快了源码的转译速度。

在一种设计中,为了实现浏览器兼容装置能够确定运维人员编译的源码部分,本申请实施例提供的浏览器兼容方法中,如图4所示,还包括S401-S403。

S401、浏览器兼容装置确定待编译脚本标签。

其中,待编译脚本标签内用于进行项目开发。

作为一种可能的实现方式,浏览器兼容装置确定目标项目中仍需要进行项目开发的脚本标签,将该部分脚本标签确定为待编译脚本标签。

作为另外一种可能的实现方式,浏览器兼容装置识别目标项目中仅包括开源方法库的脚本标签。进一步的,浏览器兼容装置基于目标项目中的所有脚本标签,以及仅包括开源方法库的脚本标签,将剩余的其他脚本标签确定为待编译脚本标签。

S402、浏览器兼容装置在待编译标签上添加编译标识,得到目标脚本标签。

作为一种可能的实现方式,浏览器兼容装置在上述步骤S401中确定到待编译标签后,在待编译标签的预设位置上,添加编译标识,得到目标脚本标签。

需要说明的,待编译标签的预设位置可以由浏览器兼容系统的运维人员,预先在浏览器兼容装置上设置,本申请实施例对此不作具体限定。

S403、浏览器兼容装置将待编译源码引入目标脚本标签内。

作为一种可能的实现方式,浏览器兼容装置将需要编译进目标脚本标签内的待编译源码,引入到目标脚本标签内,以使得预设编译工具能够识别待编译源码所在的脚本标签,并进行转译处理。

可以理解的,在本申请实施例提供的上述浏览器兼容方法中,通过将用户编译的脚本标签添加编译标识,使得浏览器兼容装置能够识别到目标脚本标签。另外,后续在目标脚本标签内进行项目开发,能够实现动态转译,在开发过程中,通过待兼容浏览器运行,解决了浏览器与目标项目之间的兼容性问题。

在一种设计中,为了实现在待兼容浏览器与项目不存在兼容性问题的情况下,项目能够正常有待兼容浏览器运行,本申请实施例提供的浏览器兼容方法中,如图5所示,还包括S501-S502。

S501、浏览器兼容装置确定目标项目中的携带有编译标识的目标脚本标签。

其中,编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的;

需要说明的,步骤S501中的具体实现方式,可以参照本申请实施例中上述步骤S301中的记载,此处不再进行赘述。

S502、浏览器兼容装置去除目标脚本标签携带的编译标识,得到可执行的目标项目。

作为一种可能的实现方式,浏览器兼容装置在确定到目标脚本标签携带的编译标识后,将所有目标脚本标签携带的编译标识删除,得到可以用于待兼容浏览器执行的目标项目,避免待兼容浏览器因目标脚本标签中携带有编译标识,而导致运行目标项目失败。

上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对用户设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图6为本申请实施例提供的一种浏览器兼容装置的结构示意图。该浏览器兼容装置用于执行上述浏览器兼容方法。如图6所示,该浏览器兼容装置60包括确定单元601、获取单元602以及处理单元603。

确定单元601,用于确定支持目标项目运行的浏览器类型条件。例如,如图2所示,确定单元601可以用于执行S201。

获取单元602,用于获取待兼容浏览器的浏览器标识UA,UA包括浏览器名称以及浏览器版本。例如,如图2所示,获取单元602可以用于执行S202。

处理单元603,用于在浏览器类型条件与UA不匹配的情况下,通过预设编译工具,对目标项目进行转译处理,得到编译后源码。例如,如图2所示,处理单元603可以用于执行S204。

处理单元603,还用于根据预设编译工具的转译顺序,运行编译后源码。例如,如图2所示,处理单元603可以用于执行S205。

可选的,如图6所示,本申请实施例提供的浏览器兼容装置60中,确定单元601,还用于确定目标项目中携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。例如,如图3所示,确定单元601可以用于执行S301。

处理单元603,还用于去除目标脚本标签携带的编译标识。例如,如图3所示,处理单元603可以用于执行S302。

处理单元603,还用于通过预设编译工具,对目标脚本标签下的源码进行转译处理。例如,如图3所示,处理单元603可以用于执行S303中的部分方法。

确定单元601,还用于将经过转译处理后的目标脚本标签下的源码,替换目标项目中对应的源码,确定替换后的目标项目中的源码为编译后源码。例如,如图3所示,确定单元601可以用于执行S303中的部分方法。

可选的,如图6所示,本申请实施例提供的浏览器兼容装置60中,确定单元601,还用于确定待编译脚本标签,待编译脚本标签内用于进行项目开发。例如,如图4所示,确定单元601可以用于执行S401。

处理单元603,还用于在待编译脚本标签上添加编译标识,得到目标脚本标签。例如,如图4所示,处理单元603可以用于执行S402。

处理单元603,还用于将待编译源码引入目标脚本标签内,以使得预设编译工具能够识别待编译源码所在的脚本标签,并进行转译处理。例如,如图4所示,处理单元603可以用于执行S403。

可选的,如图6所示,本申请实施例提供的浏览器兼容装置60中,确定单元601,还用于确定目标项目中的携带有编译标识的目标脚本标签;编译标识用于指示目标脚本标签下的源码为运维人员进行项目开发生成的。例如,如图5所示,确定单元601可以用于执行S501。

处理单元603,还用于去除目标脚本标签携带的编译标识,得到可执行的目标项目。例如,如图5所示,处理单元603可以用于执行S502。

在采用硬件的形式实现上述集成的模块的功能的情况下,本申请实施例提供了一种浏览器兼容设备的一种可能的结构示意图。该浏览器兼容设备用于执行上述实施例中浏览器兼容装置执行的浏览器兼容方法。如图7所示,该浏览器兼容设备70包括处理器701,存储器702以及总线703。处理器701与存储器702之间可以通过总线703连接。

处理器701是浏览器兼容设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器701可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。

作为一种实施例,处理器701可以包括一个或多个CPU,例如图7中所示的CPU 0和CPU 1。

存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

作为一种可能的实现方式,存储器702可以独立于处理器701存在,存储器702可以通过总线703与处理器701相连接,用于存储指令或者程序代码。处理器701调用并执行存储器702中存储的指令或程序代码时,能够实现本申请实施例提供的浏览器兼容方法。

另一种可能的实现方式中,存储器702也可以和处理器701集成在一起。

总线703,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外围设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

需要指出的是,图7示出的结构并不构成对该浏览器兼容设备70的限定。除图7所示部件之外,该浏览器兼容设备70可以包括比图7示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

作为一个示例,结合图6,浏览器兼容装置60中的确定单元601、获取单元602以及处理单元603实现的功能与图7中的处理器701的功能相同。

可选的,如图7所示,本申请实施例提供的浏览器兼容设备还可以包括通信接口704。

通信接口704,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口704可以包括用于接收数据的获取单元,以及用于发送数据的发送单元。

在一种设计中,本申请实施例提供的浏览器兼容设备中,通信接口还可以集成在处理器中。

图8示出了本申请实施例中浏览器兼容设备的另一种硬件结构。如图8所示,浏览器兼容设备80可以包括处理器801以及通信接口802。处理器801与通信接口802耦合。

处理器801的功能可以参考上述处理器701的描述。此外,处理器801还具备存储功能,可以参考上述存储器702的功能。

通信接口802用于为处理器801提供数据。该通信接口802可以是浏览器兼容设备的内部接口,也可以是浏览器兼容设备对外的接口(相当于通信接口704)。

需要指出的是,图8中示出的结构并不构成对浏览器兼容设备的限定,除图8所示部件之外,该浏览器兼容设备80可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明。在实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。

本申请的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的浏览器兼容方法。

其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

由于本申请的实施例中的装置、设备计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种数据存储方法、调度装置、系统、设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 一种浏览器兼容性测试方法、装置、电子设备及存储介质
  • 浏览器兼容性提升方法、装置、设备及存储介质
技术分类

06120116625505