WO2016131311A1 - 一种浏览器兼容方法及浏览器 - Google Patents
一种浏览器兼容方法及浏览器 Download PDFInfo
- Publication number
- WO2016131311A1 WO2016131311A1 PCT/CN2015/094698 CN2015094698W WO2016131311A1 WO 2016131311 A1 WO2016131311 A1 WO 2016131311A1 CN 2015094698 W CN2015094698 W CN 2015094698W WO 2016131311 A1 WO2016131311 A1 WO 2016131311A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- information
- script file
- preset rule
- browser
- Prior art date
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
Definitions
- This document relates to, but is not limited to, the field of computer information technology, and in particular, to a browser compatible method, a browser, and a computer readable storage medium.
- a browser is a piece of software that can display the contents of a standard universal markup language HTML file of a web server or file system and allow users to interact with these files.
- Trident There are many types of browsers on the market today, but there are three main types of browser kernel engines: Trident, Gecko, and WebKit. Among them, IE uses Trident as the kernel engine, Firefox is based on Gecko, and Safari, Google, and Chrome are based on Webkit. .
- each browser kernel engine is different in implementation, it follows the existing specifications, so there is almost no difference in the user's use, but there are some individual differences in the browsers of different kernel engines, resulting in some specific
- the web page displays differently on different browsers, even if it cannot be displayed.
- the syntax supported by IE is not necessarily supported on emerging browsers (such as Chrome). Web pages written with IE syntax are “old” and may not display properly on Chrome.
- the embodiment of the invention discloses a browser compatibility method and a browser, which solves the problem of poor compatibility of the browser in the prior art.
- the embodiment of the invention discloses a browser compatibility method, including:
- the target syntax information in the script file exists in the preset rule base, the target syntax information is replaced with the syntax information of the current browser kernel engine corresponding to the target syntax information, and a new script file is generated; wherein the preset rule base records There are mapping relationships between syntax information under different kernel engines;
- the landing page is displayed.
- the step of loading the script file of the target webpage according to the URL information of the access request includes:
- the script file of the target web page is downloaded from the target server according to the URL information.
- the step of loading the script file of the target webpage according to the URL information of the access request further includes:
- the target web page is displayed after the script file is parsed and rendered.
- the method further includes:
- the target web page is displayed after the script file is parsed and rendered.
- the target syntax information in the script file exists in the preset rule base, the target syntax information is replaced by the syntax information of the current browser kernel engine corresponding to the target syntax information, and the step of generating a new script file includes:
- the target syntax information is replaced with the found grammar information corresponding to the target grammar information to generate a new script file.
- the embodiment of the invention also discloses a browser, comprising:
- Loading a module configured to load a script file of the target webpage according to the URL information of the access request
- the matching replacement module is configured to replace the target syntax information with the syntax information of the current browser kernel engine corresponding to the target syntax information when the target syntax information in the script file exists in the preset rule base, and generate a new script file;
- the mapping relationship between the syntax information of different kernel engines is recorded in the preset rule base;
- a display module that is set to parse and render the new script file to display the landing page.
- the loading module includes:
- a first obtaining unit configured to obtain URL information of the access request according to the access request input by the user
- the download unit is set to download a script file of the target web page from the target server according to the URL information.
- the browser also includes:
- a first detecting module configured to detect whether there is target URL information matching the URL information in the preset rule base
- the display module is set to display the target web page after parsing and rendering the script file.
- the browser also includes:
- the second detecting module is configured to: when detecting the target URL information that matches the URL information in the preset rule base, detecting whether the target grammar information in the script file exists in the preset rule base;
- the display module is set to display the target web page after parsing and rendering the script file.
- the matching replacement module includes:
- a second obtaining unit configured to acquire kernel engine information of the current browser when detecting target grammar information in the script file in the preset rule base
- a searching unit configured to search, in the preset rule base, syntax information corresponding to the target syntax information according to the kernel engine information;
- the replacement unit is configured to replace the target syntax information with the found syntax information corresponding to the target syntax information to generate a new script file.
- the embodiment of the invention further discloses a computer readable storage medium, which stores a program instruction, and when the program instruction is executed by the processor, a browser compatibility method disclosed in the embodiment of the invention can be implemented.
- the beneficial effects of the embodiment of the present invention are: a browser compatible method and a browser, when there is syntax information in the script file of the target webpage that is incompatible with the current browser kernel engine, according to different kernel engines in the preset rule base
- FIG. 1 is a schematic flowchart diagram of a browser compatibility method according to Embodiment 1 of the present invention
- FIG. 2 is a schematic flowchart of a browser compatibility method according to Embodiment 2 of the present invention.
- FIG. 3 is a schematic block diagram of a browser disclosed in an embodiment of the present invention.
- embodiments of the present invention disclose a browser compatibility method, including the steps shown in FIG. 1:
- Step S10 Load the script file of the target webpage according to the URL information of the access request.
- Step S20 Find the target syntax information in the script file in the preset rule base.
- Step S30 If the target syntax information in the script file exists in the preset rule base, replace the target language in the script file with the syntax information under the current browser kernel engine corresponding to the target syntax information. Method information, generate a new script file.
- the preset rule base records the mapping relationship between the syntax information of different kernel engines.
- the syntax indicating the position of the image is syntax A under the Trident kernel engine, and the syntax B under the Gecko kernel engine, in the WebKit kernel engine.
- the following is the grammar C, and the correspondence between the grammar A, the grammar B, and the grammar C will be recorded in the preset rule base.
- the incompatible syntax information is replaced with the syntax information under the current browser kernel engine, and a new script file is generated according to the replaced syntax.
- Step S40 After parsing and rendering the new script file, displaying the target webpage.
- the syntax information in the new script file is the syntax information under the current browser kernel engine, after parsing and rendering the new script file, the target web page can be correctly displayed, and compatibility with different kernel engine browsers is realized.
- step S10 includes:
- the URL information of the access request is obtained according to the access request input by the user.
- Baidu When a user needs to access a certain webpage, taking Baidu as an example, the user inputs the URL information of the Baidu webpage, such as "Baidu”, “baidu” or “www.baidu.com", in the current browser interface, thereby obtaining Access the URL information of the request.
- the script file of the target web page is downloaded from the target server according to the URL information.
- the target server that is, the Baidu server downloads the script information of the target webpage, and obtains the script information of the Baidu homepage.
- the compatible method further includes:
- the target URL information matching the URL information exists in the preset rule base. If not, the target web page is displayed after parsing and rendering the script file.
- the compatible replacement processing may be performed on all the web pages, and only the partial preset web pages may be compatible.
- the URL information of the target webpage that requires compatible processing may be stored in advance in the preset rule base. After obtaining the script information of the target webpage, it is necessary to detect whether the target webpage is a preset preset webpage recorded in the preset rule base, and if not, parse and render the script file of the target webpage directly, and then display the target webpage. .
- the step of replacing the target syntax information in step S30 includes:
- the kernel engine information of the current browser is obtained.
- the syntax information corresponding to the kernel engine is obtained.
- the grammar information corresponding to the target grammar information is searched in the preset rule base.
- the grammar information corresponding to the target grammar information under the kernel engine is searched in the preset rule base according to the information of the kernel engine.
- FIG. 2 A browser compatible method, an implementation example is shown in Figure 2, including:
- Step 01 Load the script file of the target webpage according to the URL information of the access request.
- Step 02 Detect whether there is a URL matching the URL of the target webpage in the preset rule base.
- Step 05 Parse and render the script file and display the target web page.
- step 03 is performed: detecting whether the target syntax information in the script file exists in the preset rule base.
- Step 05 Parse and render the script file and display the target web page.
- step 04 is performed: replacing the target syntax information with syntax information under the current browser kernel engine corresponding to the target syntax information, and generating a new script file according to the replaced syntax information. Then, go to step 05: parse and render the script file and display the target web page.
- the preset rule base includes the following information:
- the content referred to by "html_url” is a character string of the URL of the webpage requested to be accessed by the user, and the content indicated by “source_str” is the target syntax information string in the original script file, that is, the syntax information string to be replaced. Or a compatible syntax information string is required, and the content referred to by “replace_str” is a syntax information string under the current browser kernel engine corresponding to the string to be replaced recorded in the preset rule base.
- "html_url” refers to: VOD_Test_1.html, first need to find whether there is "VOD_Test_1.html” in the preset rule base, if not, directly to the script file corresponding to VOD_Test_1.html Parse and render; if it exists, match the syntax information string in the script file with the syntax information string in the preset rule base.
- the content of "source_str” is: window. History.back();
- the content of "replace_str” is: GoBack(); find the content of "source_str” corresponding to the URL, and match the string with the original script file of the target webpage. If it does not match, the original script file will be used.
- the string in the script file is still "window.history.back()"; if it matches, replace the content GoBack() of "source_str” with “replace_str”
- the content window.history.back() is written back to the original web page script, so that the new script file is the script for the final display.
- the browser compatibility method disclosed in the embodiment of the present invention when there is syntax information in the script file of the target webpage that is incompatible with the current browser kernel engine, according to the mapping relationship between the syntax information of different kernel engines in the preset rule base, Replace the incompatible syntax information, and generate a new script file according to the replaced syntax information, and then parse and render the new script file to achieve compatibility between the browser and various web script files, thereby achieving better Show the effect of the web page.
- webpage scripts are also growing in a large amount, and web developers will inevitably write some webpages with "problems", such as syntax errors in webpage scripts, etc., then the user is using a browser. Accessing these "questions" pages during the Internet process can result in display errors or inaccessibility.
- the mapping relationship between the known error grammar and the correct grammar can be recorded in the preset rule base, so that when the problem web page is encountered, the wrong grammar information is replaced with the correct grammar information, thereby ensuring the browser. Fault tolerance to improve the user experience.
- the specific implementation is similar to the solution to the above compatibility problem, so it will not be described here.
- the embodiment of the invention also discloses a browser, the browser comprising:
- the loading module 101 is configured to load a script file of the target webpage according to the URL information of the access request;
- the matching replacement module 201 is configured to: when the target syntax information in the script file exists in the preset rule base, replace the target syntax information with the syntax information of the current browser kernel engine corresponding to the target syntax information, to generate a new script file;
- the preset rule base records the mapping relationship between the syntax information of different kernel engines;
- the display module 301 is configured to parse and render the new script file to display the target webpage.
- the loading module includes:
- a first obtaining unit configured to obtain URL information of the access request according to the access request input by the user
- the download unit is set to download a script file of the target web page from the target server according to the URL information.
- the browser also includes:
- a first detecting module configured to detect whether there is target URL information matching the URL information in the preset rule base
- the display module 301 parses and renders the script file to display the target web page.
- the browser also includes:
- the second detecting module is configured to: when detecting the target URL information that matches the URL information in the preset rule base, detecting whether the target grammar information in the script file exists in the preset rule base;
- the display module 301 parses and renders the script file to display the target web page.
- the matching replacement module includes:
- a second obtaining unit configured to acquire kernel engine information of the current browser when detecting target grammar information in the script file in the preset rule base
- a searching unit configured to search, in the preset rule base, syntax information corresponding to the target syntax information according to the kernel engine information;
- the replacement unit is configured to replace the target syntax information with the found syntax information corresponding to the target syntax information to generate a new script file.
- the browser is corresponding to the foregoing compatible method. All the implementation manners in the foregoing method embodiments are applicable to the browser embodiment, and the same technical effects can be achieved.
- the embodiment of the invention further discloses a computer readable storage medium, which stores a program instruction, and when the program instruction is executed by the processor, a browser compatible method disclosed in the embodiment of the invention can be implemented.
- all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
- the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
- the solution disclosed in the embodiment of the present invention is based on syntax information of different kernel engines in a preset rule base.
- the mapping relationship between the target script and the target script information that is incompatible with the current browser kernel engine in the script file of the target webpage can implement compatibility of the browser with various webpage script files, thereby achieving better display of the webpage effect.
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
本文公开了一种浏览器兼容方法及浏览器,其方法包括:根据访问请求的URL信息,加载目标网页的脚本文件;若预置规则库中存在脚本文件中的目标语法信息,则将目标语法信息对应的当前浏览器内核引擎下的语法信息替换目标语法信息,生成一新脚本文件;其中,预置规则库中记录有不同内核引擎下语法信息之间的映射关系;对新脚本文件进行解析和渲染后,显示目标网页。
Description
本文涉及但不限于计算机信息技术领域,尤其涉及一种浏览器兼容方法、浏览器和计算机可读存储介质。
随着因特网的快速发展,及HTML5规范的逐步完善,浏览器技术得到了更加广泛的应用,除了在传统的PC领域,在现在的新兴领域:智能手机、机顶盒等设备上也得到了大量的使用,是最经常使用到的客户端程序。
浏览器是指可以显示网页服务器或者文件系统的标准通用标记语言HTML文件内容,并让用户与这些文件进行交互的一种软件。
现在市场上的浏览器种类非常多,但是浏览器内核引擎主要有三种:Trident、Gecko和WebKit;其中,IE浏览器以Trident作为内核引擎,Firefox基于Gecko开发;Safari、Google和Chrome基于Webkit开发的。
虽然各个浏览器内核引擎在实现上各异,但是都遵循现有的规范,所以用户在使用时几乎没有太大差异,但是不同内核引擎的浏览器也会存在一些个体的差异,从而导致一些特定的网页在不同的浏览器上的显示效果不同,甚至是无法显示的情况。例如IE支持的语法在新兴的浏览器(如Chrome)上,并不一定支持,使用IE语法写得较“老”的网页,在Chrome上就可能无法正常的显示。
因此,如何解决不同内核引擎的浏览器之间的兼容问题亟待解决。
发明内容
以下是对本文详细描述的主题的概述,本概述并非是为了限制权利要求的保护范围。
本发明实施例公布了一种浏览器兼容方法及浏览器,解决了现有技术中浏览器兼容性差的问题。
本发明实施例公开了一种浏览器兼容方法,包括:
根据访问请求的URL(统一资源定位符,Uniform Resource Locator)信息,加载目标网页的脚本文件;
在预置规则库中查找所述脚本文件中的目标语法信息;
若预置规则库中存在脚本文件中的目标语法信息,则用目标语法信息对应的当前浏览器内核引擎下的语法信息替换目标语法信息,生成一新脚本文件;其中,预置规则库中记录有不同内核引擎下语法信息之间的映射关系;
对新脚本文件进行解析和渲染后,显示目标网页。
其中,根据访问请求的URL信息,加载目标网页的脚本文件的步骤包括:
根据用户输入的访问请求,获取访问请求的URL信息;
根据URL信息,从目标服务器下载目标网页的脚本文件。
其中,根据访问请求的URL信息,加载目标网页的脚本文件的步骤之后,还包括:
检测预置规则库中是否存在与URL信息相匹配的目标URL信息;
若不存在,则对脚本文件进行解析和渲染后,显示目标网页。
其中,在检测预置规则库中是否存在与URL信息相匹配的目标URL信息的步骤之后,还包括:
当检测到预置规则库中存在与URL信息相匹配的目标URL信息时,检测预置规则库中是否存在脚本文件中的目标语法信息;
若不存在,则对脚本文件进行解析和渲染后,显示目标网页。
其中,若预置规则库中存在脚本文件中的目标语法信息,则用目标语法信息对应的当前浏览器内核引擎下的语法信息替换目标语法信息,生成一新脚本文件的步骤包括:
当检测到预置规则库中存在脚本文件中的目标语法信息时,获取当前浏览器的内核引擎信息;
根据内核引擎信息,在预置规则库中查找与目标语法信息对应的语法信息;
用查找到的与所述目标语法信息对应的语法信息替换目标语法信息,生成一新脚本文件。
本发明实施例还公开了一种浏览器,包括:
加载模块,设置为根据访问请求的URL信息,加载目标网页的脚本文件;
匹配替换模块,设置为当预置规则库中存在脚本文件中的目标语法信息时,用目标语法信息对应的当前浏览器内核引擎下的语法信息替换目标语法信息,生成一新脚本文件;其中,预置规则库中记录有不同内核引擎下语法信息之间的映射关系;
显示模块,设置为对新脚本文件进行解析和渲染,进而显示目标网页。
其中,加载模块包括:
第一获取单元,设置为根据用户输入的访问请求,获取访问请求的URL信息;
下载单元,设置为根据URL信息,从目标服务器下载目标网页的脚本文件。
其中,浏览器还包括:
第一检测模块,设置为检测预置规则库中是否存在与URL信息相匹配的目标URL信息;
若不存在,则显示模块设置为对脚本文件进行解析和渲染后,显示目标网页。
其中,浏览器还包括:
第二检测模块,设置为当检测到预置规则库中存在与URL信息相匹配的目标URL信息时,检测预置规则库中是否存在脚本文件中的目标语法信息;
若不存在,则显示模块设置为对脚本文件进行解析和渲染后,显示目标网页。
其中,匹配替换模块包括:
第二获取单元,设置为当检测到预置规则库中存在脚本文件中的目标语法信息时,获取当前浏览器的内核引擎信息;
查找单元,设置为根据内核引擎信息,在预置规则库中查找与目标语法信息对应的语法信息;
替换单元,设置为用查找到的与目标语法信息对应的语法信息替换目标语法信息,生成一新脚本文件。
本发明实施例还公开一种计算机可读存储介质,存储有程序指令,当该程序指令被处理器执行时可实现本发明实施例所公开的一种浏览器兼容方法。
本发明的实施例的有益效果是:一种浏览器兼容方法及浏览器,当目标网页的脚本文件中存在与当前浏览器内核引擎不兼容的语法信息时,根据预设规则库中不同内核引擎下语法信息之间的映射关系,对不兼容的语法信息进行替换,生成新脚本文件,进而对该新脚本文件进行解析和渲染,以实现浏览器对各种网页脚本文件的兼容,从而达到更好的显示网页的效果。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
图1表示本发明实施例一公开的浏览器兼容方法的流程示意图;
图2表示本发明实施例二公开的浏览器兼容方法的具体流程示意图;
图3表示本发明实施例公开的浏览器的模块示意图。
其中图中:101、加载模块,201、匹配替换模块,301、显示模块。
本发明的较佳实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
为了解决不同内核引擎下网页脚本的兼容问题,本发明的实施例公开了一种浏览器兼容方法,包括如图1所示的步骤:
步骤S10:根据访问请求的URL信息,加载目标网页的脚本文件。
步骤S20:在预置规则库中查找所述脚本文件中的目标语法信息。
步骤S30:若预置规则库中存在脚本文件中的目标语法信息,则用目标语法信息对应的当前浏览器内核引擎下的语法信息替换脚本文件中的目标语
法信息,生成一新脚本文件。
其中,预置规则库中记录有不同内核引擎下语法信息之间的映射关系,例如:指示图片位置的语法在Trident内核引擎下为语法A,在Gecko内核引擎下为语法B,在WebKit内核引擎下为语法C,预置规则库中将记录语法A、语法B和语法C之间的对应关系。这样,当基于Trident内核引擎编写的脚本文件,在基于Gecko内核引擎的浏览器中解析时,可能会存在编译错误而导致网页显示不正常或无法显示的情况。这时,根据预置规则库中记录的对应关系,将不兼容的语法信息替换为当前浏览器内核引擎下的语法信息,根据替换后的语法生成一新脚本文件。
步骤S40:对新脚本文件进行解析和渲染后,显示目标网页。
由于新脚本文件中的语法信息为当前浏览器内核引擎下的语法信息,对该新脚本文件进行解析和渲染后,能够正确显示目标网页,实现了不同内核引擎浏览器的兼容。
其中,步骤S10包括:
根据用户输入的访问请求,获取访问请求的URL信息。
在用户需要访问某个网页时,以百度为例,用户在当前浏览器的界面输入百度网页的URL信息,如“百度”、“baidu”或“www.baidu.com”等关键字,从而得到访问请求的URL信息。
根据URL信息,从目标服务器下载目标网页的脚本文件。
根据访问请求的URL信息,如“www.baidu.com”,在目标服务器,即百度服务器下载目标网页的脚本信息,得到百度首页的脚本信息。
其中,在步骤S10之后,该兼容方法还包括:
检测预置规则库中是否存在与URL信息相匹配的目标URL信息,若不存在,则对脚本文件进行解析和渲染后,显示目标网页。
可选地,为了提高运行速度,该实施例中,可以不全部网页进行兼容替换处理,只对部分预置网页进行兼容处理。可预先将需要兼容处理的目标网页的URL信息存储于预置规则库中。当获得了目标网页的脚本信息后,需要检测目标网页是否是预置规则库中记录的需要兼容的预置网页,如果不是,则直接对目标网页的脚本文件进行解析和渲染,然后显示目标网页。
其中,当检测到预置规则库中存在与URL信息相匹配的目标URL信息时,检测预置规则库中是否存在脚本文件中的目标语法信息;若不存在,则对脚本文件进行解析和渲染,然后显示目标网页;若存在,则对对应的目标语法信息进行替换。
其中,步骤S30中对目标语法信息进行替换的步骤包括:
当检测到预置规则库中存在脚本文件中的目标语法信息时,获取当前浏览器的内核引擎信息。这里指的是,在检测到预置规则库中存在目标语法信息时,则表示该目标语法信息在不同内核引擎下不兼容,这时需要获取当前浏览器的内核引擎信息,以便于后续查找该内核引擎对应的语法信息。
根据内核引擎信息,在预置规则库中查找与目标语法信息对应的语法信息。这里指的是,在获得了当前浏览器内核引擎信息后,根据该内核引擎的信息在预置规则库中查找该内核引擎下与目标语法信息对应的语法信息。
将查找到的语法信息替换目标语法信息,生成一新脚本文件。将查找到的语法信息替换目标语法信息,根据替换后的语法生成一新脚本文件。
实施例二
一种浏览器兼容方法,实现示例如图2所示,包括:
步骤01:根据访问请求的URL信息,加载目标网页的脚本文件。
步骤02:检测预置规则库中是否存在与目标网页的URL相匹配的URL。
若不存在,则执行步骤05:对脚本文件进行解析和渲染,并显示目标网页。
若存在,则执行步骤03:检测预置规则库中是否存在脚本文件中的目标语法信息。
若不存在,则执行步骤05:对脚本文件进行解析和渲染,并显示目标网页。
若存在,则执行步骤04:用目标语法信息对应的当前浏览器内核引擎下的语法信息替换所述目标语法信息,根据替换后的语法信息生成一新脚本文件。然后,再执行步骤05:对脚本文件进行解析和渲染,并显示目标网页。
例如:预设规则库中包括下述信息:
<<html_url>>VOD_Test_1.html<</html_url>>
<<source_str>>window.history.back();<</source_str>>
<<replace_str>>GoBack();<</replace_str>>
其中,“html_url”所指的内容为就是用户输入的请求访问的网页的URL的字符串,“source_str”所指内容是原脚本文件中的目标语法信息字符串,即待替换的语法信息字符串或需要进行兼容的语法信息字符串,而“replace_str”所指内容是预设规则库中记录的与待替换字符串对应的当前浏览器内核引擎下的语法信息字符串。在本例中:“html_url”所指的内容为:VOD_Test_1.html,首先需要在预设规则库中查找是否记录有“VOD_Test_1.html”,如果没有,则直接对VOD_Test_1.html所对应的脚本文件进行解析和渲染;如果存在,则对其脚本文件中的语法信息字符串与预设规则库中的语法信息字符串进行匹配,其中,在本例中:“source_str”所指内容为:window.history.back();“replace_str”所指内容为:GoBack();找到URL对应的“source_str”所指内容,并与目标网页原脚本文件进行字符串匹配,如果不能匹配,则将原脚本文件作为最终显示的网页脚本文件,即脚本文件中的字符串仍为“window.history.back()”;如果匹配,那么就将“source_str”所指内容GoBack(),替换为“replace_str”所指内容window.history.back(),并将替换后的内容写回原网页脚本,这样得到的新脚本文件就是用于最终显示的脚本。
本发明实施例公开的浏览器兼容方法,当目标网页的脚本文件中存在与当前浏览器内核引擎不兼容的语法信息时,根据预设规则库中不同内核引擎下语法信息之间的映射关系,对不兼容的语法信息进行替换,并根据替换后的语法信息生成新脚本文件,进而对该新脚本文件进行解析和渲染,以实现浏览器对多种网页脚本文件的兼容,从而达到更好的显示网页的效果。
可选地,随着浏览器技术的飞速发展,网页脚本也海量增长,网页开发人员难免会写出一些有“问题”的网页,如网页脚本中存在语法错误等等,那么用户在使用浏览器上网的过程中访问到这些“问题”网页,就会出现显示错误或者无法访问的情况。为了解决上述问题,可在预设规则库中记录已知错误语法与正确语法之间的映射关系,这样,当遇到问题网页时,用正确语法信息替换错误的语法信息,即可保证浏览器的容错性,改善用户体验。
而具体的实现方式与上述兼容性问题的解决方案类似,故不在此赘述。
实施例三
本发明实施例还公开了一种浏览器,该浏览器包括:
加载模块101,设置为根据访问请求的URL信息,加载目标网页的脚本文件;
匹配替换模块201,设置为当预置规则库中存在脚本文件中的目标语法信息时,用目标语法信息对应的当前浏览器内核引擎下的语法信息替换目标语法信息,生成一新脚本文件;其中,预置规则库中记录有不同内核引擎下语法信息之间的映射关系;
显示模块301,设置为对新脚本文件进行解析和渲染,进而显示目标网页。
其中,加载模块包括:
第一获取单元,设置为根据用户输入的访问请求,获取访问请求的URL信息;
下载单元,设置为根据URL信息,从目标服务器下载目标网页的脚本文件。
其中,浏览器还包括:
第一检测模块,设置为检测预置规则库中是否存在与URL信息相匹配的目标URL信息;
若不存在,则显示模块301对脚本文件进行解析和渲染,进而显示目标网页。
其中,浏览器还包括:
第二检测模块,设置为当检测到预置规则库中存在与URL信息相匹配的目标URL信息时,检测预置规则库中是否存在脚本文件中的目标语法信息;
若不存在,则显示模块301对脚本文件进行解析和渲染,进而显示目标网页。
其中,匹配替换模块包括:
第二获取单元,设置为当检测到预置规则库中存在脚本文件中的目标语法信息时,获取当前浏览器的内核引擎信息;
查找单元,设置为根据内核引擎信息,在预置规则库中查找与目标语法信息对应的语法信息;
替换单元,设置为用查找到的与目标语法信息对应的语法信息替换目标语法信息,生成一新脚本文件。
需要说明的是,该浏览器是与上述兼容方法对应的,上述方法实施例中所有实现方式均适用于该浏览器的实施例中,也能达到相同的技术效果。
本发明实施例还公开了一种计算机可读存储介质,存储有程序指令,当该程序指令被处理器执行时可实现本发明实施例所公开的一种浏览器兼容方法。
虽然本发明所揭露的实施方式如上所述,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
本发明实施例公开的方案根据预设规则库中不同内核引擎下语法信息之
间的映射关系,对目标网页的脚本文件中与当前浏览器内核引擎不兼容的目标语法信息进行替换,能够实现浏览器对各种网页脚本文件的兼容,从而达到更好的显示网页的效果。
Claims (11)
- 一种浏览器兼容方法,包括:根据访问请求的URL信息,加载目标网页的脚本文件;在预置规则库中查找所述脚本文件中的目标语法信息;若所述预置规则库中存在所述脚本文件中的目标语法信息,则用所述目标语法信息对应的当前浏览器内核引擎下的语法信息替换所述目标语法信息,生成一新脚本文件;其中,所述预置规则库中记录有不同内核引擎下语法信息之间的映射关系;对所述新脚本文件进行解析和渲染后,显示所述目标网页。
- 根据权利要求1所述的浏览器兼容方法,其中,根据访问请求的URL信息,加载目标网页的脚本文件的步骤包括:根据用户输入的访问请求,获取所述访问请求的URL信息;根据所述URL信息,从目标服务器下载目标网页的脚本文件。
- 根据权利要求2所述的浏览器兼容方法,其中,根据访问请求的URL信息,加载目标网页的脚本文件的步骤之后,还包括:检测所述预置规则库中是否存在与所述URL信息相匹配的目标URL信息;若不存在,则对所述脚本文件进行解析和渲染后,显示所述目标网页。
- 根据权利要求3所述的浏览器兼容方法,其中,在检测所述预置规则库中是否存在与所述URL信息相匹配的目标URL信息的步骤之后,还包括:当检测到所述预置规则库中存在与所述URL信息相匹配的目标URL信息时,检测所述预置规则库中是否存在所述脚本文件中的目标语法信息;若不存在,则对所述脚本文件进行解析和渲染后,显示所述目标网页。
- 根据权利要求1或4所述的浏览器兼容方法,其中,若所述预置规则库中存在所述脚本文件中的目标语法信息,则用所述目标语法信息对应的当前浏览器内核引擎下的语法信息替换所述目标语法信息,生成一新脚本文件的步骤包括:获取当前浏览器的内核引擎信息;根据所述内核引擎信息,在所述预置规则库中查找与所述目标语法信息对应的语法信息;用查找到的与所述目标语法信息对应的语法信息替换所述目标语法信息,生成一新脚本文件。
- 一种浏览器,包括:加载模块,设置为根据访问请求的URL信息,加载目标网页的脚本文件;匹配替换模块,设置为当预置规则库中存在所述脚本文件中的目标语法信息时,用所述目标语法信息对应的当前浏览器内核引擎下的语法信息替换所述目标语法信息,生成一新脚本文件;其中,所述预置规则库中记录有不同内核引擎下语法信息之间的映射关系;显示模块,设置为对所述新脚本文件进行解析和渲染,进而显示所述目标网页。
- 根据权利要求6所述的浏览器,其中,所述加载模块包括:第一获取单元,设置为根据用户输入的访问请求,获取所述访问请求的URL信息;下载单元,设置为根据所述URL信息,从目标服务器下载目标网页的脚本文件。
- 根据权利要求7所述的浏览器,还包括:第一检测模块,设置为检测所述预置规则库中是否存在与所述URL信息相匹配的目标URL信息;若不存在,则所述显示模块设置为对所述脚本文件进行解析和渲染后,显示所述目标网页。
- 根据权利要求8所述的浏览器,还包括:第二检测模块,设置为当检测到所述预置规则库中存在与所述URL信息相匹配的目标URL信息时,检测所述预置规则库中是否存在所述脚本文件中的目标语法信息;若不存在,则所述显示模块设置为对所述脚本文件进行解析和渲染后,显示所述目标网页。
- 根据权利要求9所述的浏览器,其中,所述匹配替换模块包括:第二获取单元,设置为当检测到所述预置规则库中存在所述脚本文件中的目标语法信息时,获取当前浏览器的内核引擎信息;查找单元,设置为根据所述内核引擎信息,在所述预置规则库中查找与所述目标语法信息对应的语法信息;替换单元,设置为用查找到的与所述目标语法信息对应语法信息替换所述目标语法信息,生成一新脚本文件。
- 一种计算机可读存储介质,存储有程序指令,当该程序指令被处理器执行时实现权利要求1-5任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419229.3A CN106354484A (zh) | 2015-07-16 | 2015-07-16 | 一种浏览器兼容方法及浏览器 |
CN201510419229.3 | 2015-07-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016131311A1 true WO2016131311A1 (zh) | 2016-08-25 |
Family
ID=56692148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/094698 WO2016131311A1 (zh) | 2015-07-16 | 2015-11-16 | 一种浏览器兼容方法及浏览器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106354484A (zh) |
WO (1) | WO2016131311A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657178A (zh) * | 2018-11-12 | 2019-04-19 | 平安科技(深圳)有限公司 | 页面表单处理方法、装置、计算机设备及存储介质 |
CN111079038A (zh) * | 2019-11-01 | 2020-04-28 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN111177606A (zh) * | 2019-12-23 | 2020-05-19 | 望海康信(北京)科技股份公司 | 控制浏览器渲染网页的方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933651B (zh) * | 2017-03-14 | 2020-10-16 | 深圳市茁壮网络股份有限公司 | 一种更换js引擎的方法及装置 |
CN107704497B (zh) * | 2017-08-25 | 2020-05-01 | 深圳壹账通智能科技有限公司 | 网页数据爬取方法、装置、网页数据爬取平台及存储介质 |
CN109960531B (zh) * | 2017-12-26 | 2022-06-14 | 中国移动通信集团浙江有限公司 | 一种页面显示方法和装置 |
CN108388454B (zh) * | 2018-01-24 | 2021-08-20 | 阿里巴巴(中国)有限公司 | 动态提供兼容js脚本内容的方法、装置和终端设备 |
CN110489679B (zh) * | 2018-05-10 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种浏览器内核的处理方法、装置及存储介质 |
CN111199001A (zh) * | 2019-12-03 | 2020-05-26 | 云深互联(北京)科技有限公司 | 一种用于浏览器的资源重载兼容性处理方法及系统 |
CN111800461A (zh) * | 2020-05-27 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 浏览器的脚本下载方法、装置、设备及存储介质 |
CN113591000B (zh) * | 2021-07-13 | 2024-04-19 | 青岛海信移动通信技术有限公司 | 一种浏览器引擎的切换方法和装置及设备 |
CN113709154B (zh) * | 2021-08-25 | 2023-08-15 | 平安国际智慧城市科技股份有限公司 | 浏览器安全处理方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546310A (zh) * | 2008-03-28 | 2009-09-30 | 纬创资通股份有限公司 | 可提升网页兼容性的方法及相关电子装置和网页存取系统 |
CN102156709A (zh) * | 2011-02-28 | 2011-08-17 | 奇智软件(北京)有限公司 | 一种浏览器引擎模式的切换方法 |
CN103942137A (zh) * | 2013-01-23 | 2014-07-23 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859246A (zh) * | 2009-04-08 | 2010-10-13 | 英业达股份有限公司 | 依据不同浏览器转换相应脚本的系统及其方法 |
CN102833631A (zh) * | 2012-07-30 | 2012-12-19 | 深圳市茁壮网络股份有限公司 | 一种页面信息处理的方法及机顶盒 |
CN103500210A (zh) * | 2013-09-27 | 2014-01-08 | 北京奇虎科技有限公司 | 一种进行网页加载的方法、装置和浏览器 |
CN104375858B (zh) * | 2014-10-27 | 2017-10-13 | 深信服网络科技(深圳)有限公司 | 多浏览器平台执行javascript脚本的方法及装置 |
-
2015
- 2015-07-16 CN CN201510419229.3A patent/CN106354484A/zh not_active Withdrawn
- 2015-11-16 WO PCT/CN2015/094698 patent/WO2016131311A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546310A (zh) * | 2008-03-28 | 2009-09-30 | 纬创资通股份有限公司 | 可提升网页兼容性的方法及相关电子装置和网页存取系统 |
CN102156709A (zh) * | 2011-02-28 | 2011-08-17 | 奇智软件(北京)有限公司 | 一种浏览器引擎模式的切换方法 |
CN103942137A (zh) * | 2013-01-23 | 2014-07-23 | 腾讯科技(深圳)有限公司 | 浏览器兼容性测试方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657178A (zh) * | 2018-11-12 | 2019-04-19 | 平安科技(深圳)有限公司 | 页面表单处理方法、装置、计算机设备及存储介质 |
CN109657178B (zh) * | 2018-11-12 | 2024-03-01 | 平安科技(深圳)有限公司 | 页面表单处理方法、装置、计算机设备及存储介质 |
CN111079038A (zh) * | 2019-11-01 | 2020-04-28 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN111079038B (zh) * | 2019-11-01 | 2023-11-17 | 上海掌门科技有限公司 | 一种在应用中输入信息的方法与设备 |
CN111177606A (zh) * | 2019-12-23 | 2020-05-19 | 望海康信(北京)科技股份公司 | 控制浏览器渲染网页的方法及装置 |
CN111177606B (zh) * | 2019-12-23 | 2023-12-15 | 望海康信(北京)科技股份公司 | 控制浏览器渲染网页的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106354484A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016131311A1 (zh) | 一种浏览器兼容方法及浏览器 | |
US8775926B2 (en) | Stylesheet conversion engine | |
US7694282B2 (en) | Mapping breakpoints between web based documents | |
US9448776B1 (en) | Method and apparatus for converting a website into a native mobile application | |
US9646041B2 (en) | Testing of inactive design-time artifacts | |
US9756110B2 (en) | Systems and methods for optimizing web page load time | |
US10594769B2 (en) | Selection mapping between fetched files and source files | |
US20130054812A1 (en) | System and method for dynamically assembling an application on a client device | |
KR101908162B1 (ko) | 통합 개발 환경에서의 라이브 브라우저 툴 제공 기법 | |
US20170109271A1 (en) | User interface testing abstraction | |
US10496381B2 (en) | Progressive web app auto-ingestion | |
US9967370B2 (en) | OData enabled mobile software applications | |
US20150040000A1 (en) | Methods and systems for generating server-side media queries | |
US10089108B1 (en) | Archival format for incremental deployments and version control | |
US10678994B2 (en) | Method and system for reusing HTML content | |
US9781262B2 (en) | Methods and apparatus for voice-enabling a web application | |
US10157612B2 (en) | Methods and apparatus for voice-enabling a web application | |
US20140040746A1 (en) | Methods and apparatus for voiced-enabling a web application | |
US20150012819A1 (en) | Template-driven decoration engine | |
Goel et al. | Jawa: Web Archival in the Era of {JavaScript} | |
US10223460B2 (en) | Application partial deep link to a corresponding resource | |
US11568130B1 (en) | Discovering contextualized placeholder variables in template code | |
Berlin et al. | To re-experience the web: A framework for the transformation and replay of archived web pages | |
JP2013122655A (ja) | ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム | |
US10599740B1 (en) | Program code streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15882450 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15882450 Country of ref document: EP Kind code of ref document: A1 |