CN103488508A - 一种浏览器的工作方法、浏览器及终端设备 - Google Patents

一种浏览器的工作方法、浏览器及终端设备 Download PDF

Info

Publication number
CN103488508A
CN103488508A CN201310429821.2A CN201310429821A CN103488508A CN 103488508 A CN103488508 A CN 103488508A CN 201310429821 A CN201310429821 A CN 201310429821A CN 103488508 A CN103488508 A CN 103488508A
Authority
CN
China
Prior art keywords
browser
party
identify label
return messages
safe
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.)
Granted
Application number
CN201310429821.2A
Other languages
English (en)
Other versions
CN103488508B (zh
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 Cheetah Mobile Technology Co Ltd
Original Assignee
Shell Internet Beijing Security Technology 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 Shell Internet Beijing Security Technology Co Ltd filed Critical Shell Internet Beijing Security Technology Co Ltd
Priority to CN201310429821.2A priority Critical patent/CN103488508B/zh
Publication of CN103488508A publication Critical patent/CN103488508A/zh
Application granted granted Critical
Publication of CN103488508B publication Critical patent/CN103488508B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种浏览器的工作方法、浏览器及终端设备,涉及互联网技术领域,为提高浏览器与第三方对象之间的兼容性而设计。本发明提供的浏览器的工作方法包括:向第三方对象发送调用请求;在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;如果是,将所述浏览器的身份标识返回给所述第三方对象;否则,获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。

Description

一种浏览器的工作方法、浏览器及终端设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种浏览器的工作方法、浏览器及终端设备。
背景技术
浏览器是一种安装在智能终端(如个人计算机或者移动终端)的客户端装置,可以显示网页服务器或者文件系统的HTML(HyperTextMark-up Language,超文本标记语言或超文本链接标示语言)文件内容,并让用户与这些文件交互,智能终端通过浏览器可向Web或WAP(Wireless Application Protocol,无线应用协议)服务器发送各种请求,并对从Web或WAP服务器发来的超文本信息和各种多媒体数据格式进行解析、显示和播放,用户通过浏览器客户端可以浏览网页。
随着技术的快速发展和用户需求的不断增长,用户对浏览器的功能需求也越来越多,用户除了通过浏览器浏览普通网页之外,还通过浏览器观看视频、显示图片、进行网银支付等。为了实现这些功能,浏览器需要调用各种插件、第三方模块、以及一些扩展模块等对象,其中常见的插件包括Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等;常见的第三方模块包括显卡(图形显示单元、GPU)、声卡等;扩展模块主要有网银支付模块等。
但是,有些插件、第三方模块、以及扩展模块都是基于最常用的、比较成熟的浏览器(如IE浏览器和Chrome浏览器)开发的,因此这些插件、第三方模块、以及扩展模块与IE浏览器和Chrome浏览器可以有很好的兼容,而对新开发的一些浏览器会存在一些兼容性的问题,造成这些浏览器直接与它们交互时会出现各种各样的问题,比如无法显示、显示页面内容异常、动画播放不流畅、视频卡死以及网银支付不能正常支付等问题。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种浏览器的工作方法、浏览器及终端设备,其能够提高浏览器与第三方对象之间的兼容性,以使浏览器在调用第三方对象时不会发生异常。
为解决上述技术问题,本发明第一方面实施例提供了一种浏览器的工作方法,包括:
向第三方对象发送调用请求;
在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
如果是,将所述浏览器的身份标识返回给所述第三方对象;
否则,获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。
结合第一方面,在第一方面的第一种可能的实现方式中,所述在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容包括:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容;
所述将所述浏览器的身份标识返回给所述第三方对象包括:
将所述截获的返回消息发送给所述第三方对象;
所述获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象包括:
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述确定所述第三方对象是否与所述浏览器兼容包括:
查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述第三方对象集合中是否存在所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
结合第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,所述获取与所述第三方对象兼容的浏览器身份标识包括:
从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识;
所述修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识包括:
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式、第一方面的第三种可能实现方式中的任一种实现方式,在第一方面的第四种可能实现方式中:
所述第三方对象包括flash插件、显卡模块、网银支付模块或输入法模块;
所述浏览器的身份标识为所述浏览器的进程名、所述浏览器的特征模块名称或系统版本号。
为解决上述技术问题,本发明第二方面实施例提供了一种浏览器,包括:
调用请求模块,用于向第三方对象发送调用请求;
兼容性确定模块,用于在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
第一处理模块,用于在所述兼容性确定模块确定所述第三方对象与所述浏览器兼容时,将所述第一浏览器的身份标识返回给所述第三方对象;
第二处理模块,用于在所述兼容性确定模块确定所述第三方对象与所述浏览器不兼容时,获取与所述第三方对象兼容的第二浏览器的身份标识,并将所述获取的第二浏览器的身份标识返回给所述第三方对象。
结合第二方面,在第二方面的第一种可能实施方式中,所述兼容性确定模块用于:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容;
所述第一处理模块用于:
在所述兼容性确定模块确定所述第三方对象与所述浏览器兼容时,将所述截获的返回消息发送给所述第三方对象;
所述第二处理模块用于:
在所述兼容性确定模块确定所述第三方对象与所述浏览器不兼容时,
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
结合第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述兼容性确定模块用于:
查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述第三方对象集合中是否存在所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
结合第二方面的第一种可能实施方式,在第二方面的第三种可能实施方式中,所述第二处理模块用于:
从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
结合第二方面、第二方面的第一种可能实现方式、第二方面的第二种可能实现方式、第二方面的第三种可能实现方式中的任一种实现方式,在第二方面的第四种可能实现方式中:
所述第三方对象包括flash插件、显卡模块、网银支付模块或输入法模块;
所述浏览器的身份标识为所述浏览器的进程名、所述浏览器的特征模块名称或系统版本号。
为解决上述技术问题,本发明第三方面实施例提供了一种终端设备,包括:
处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
向第三方对象发送调用请求;
在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
如果是,将所述浏览器的身份标识返回给所述第三方对象;
否则,获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。
本发明实施例提供的浏览器的工作方法、浏览器及终端设备,在第三方对象根据浏览器的调用请求获取浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容,当所述第三方对象与所述浏览器不兼容时,将与所述第三方对象兼容的浏览器的身份标识返回给所述第三方对象,以使第三方对象接收到与所述第三方对象兼容的浏览器的身份标识后,能够正常启动运行,从而使第三方对象被浏览器调用后能够正常在浏览器中运行,因而可以提高浏览器与第三方对象之间的兼容性。
附图说明
图1为本发明实施例提供的浏览器的工作方法的流程图;
图2为发明实施例提供的浏览器的结构示意图。
具体实施方式
下面将结合具体实施方式及附图,对本发明的技术方案进行清楚、完整地描述。
首先需要说明的是,浏览器是一种安装在智能终端(如个人计算机或者移动终端)的客户端装置,可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互,智能终端通过浏览器可向Web或WAP服务器发送各种请求,并对从Web或WAP服务器发来的超文本信息和各种多媒体数据格式进行解析、显示和播放,用户通过浏览器客户端可以浏览网页、观看视频、进行网银支付等。
本发明实施例提供一种浏览器的工作方法,图1为本发明实施例提供的浏览器的工作方法的一种流程图,如图1所示,具体包括以下步骤:
步骤S101:向第三方对象发送调用请求。
举例而言,第三方对象为在用户使用浏览器的过程中,为了实现各种功能,浏览器需要调用的各种插件、第三方模块、以及一些扩展模块等。举例而言,第三方对象可以包括Flash插件、ActiveX插件、显卡模块、声卡模块、网银支付模块、输入法模块,当然还可以为其他任意非该浏览器出品方之外的其他组织或个人开发的相关对象。
通常情况下,当浏览器根据用户的操作需要调用第三方对象时,首先需要向第三方对象发送调用请求,以使第三方对象根据调用请求执行相应的动作,不同浏览器调用同一个第三方对象时,在浏览器中的表现形式可能不一样,举例而言,当ie浏览器调用flash插件时,flash插件针对ie浏览器进行一种特性处理,该特性处理能够流畅地播放视频,其中,特性处理可以包括图像处理、视频处理、文字显示等,但是其他浏览器调用flash插件时,flash插件针对其他浏览器进行另外一种特性处理,这种特性处理可能由于开发人员的处理技术或者其他条件限制,处理的效果较差,使得在其他浏览器中播放flash视频时可能出现视频卡死的现象,即可能出现不兼容的现象。
需要说明的是,在本发明实施例中,如果第三方对象在浏览器中运行时出现异常,如不能被浏览器调用,或者虽然能够被调用,但是在浏览器中出现无法显示、显示页面内容异常、动画播放不流畅、视频卡死以及网银支付不能正常支付等问题,在这种情况下,则认为第三方对象与浏览器不兼容,否则,认为第三方对象与浏览器兼容。
步骤S102:在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;其中,浏览器的身份标识是用于标识该浏览器身份的参数,第三方对象可以通过该标识得知是哪种浏览器调用它。举例而言,浏览器的身份标识可以为该浏览器的进程名,也可以为浏览器的特征模块名称,该特征模块是指浏览器专有专用的功能模块,其他浏览器是不使用这些功能模块的,因此能够标识浏览器的身份,例如,假设A模块是IE浏览器的特征模块,那么,浏览器的身份标识就可以是A模块名称,此外,浏览器的身份标识还可以是系统版本号等能够标识浏览器的身份的系统信息。需要说明的是,浏览器的身份标识并不限于上述几种,还可以为任意一种能够标识浏览器身份的参数,本领域技术人员可以任意选择。
如果是,执行步骤S103:将所述浏览器的身份标识返回给所述第三方对象;
否则,执行步骤S104:获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。
如此一来,当所述第三方对象与所述浏览器不兼容时,获取与所述第三方对象兼容的浏览器身份标识,并将获取的浏览器身份标识返回给所述第三方对象,以使第三方对象接收到所述与所述第三方对象兼容的浏览器的身份标识后,能够正常启动运行,从而使第三方对象被浏览器调用后能够正常在浏览器中运行,因而可以提高浏览器与第三方对象之间的兼容性。
通常情况下,当第三方对象接收到浏览器的调用请求时,首先根据调用请求去调用接口函数以获取浏览器的身份标识,也即执行用于获取浏览器的身份标识的接口函数,并接收接口函数的返回消息,其中返回消息中包含有浏览器的身份标识,以使第三方对象根据返回消息进行相应的特性处理,从而被浏览器调用,其中特性处理包括对文字字体、文字大小、声音、图像显示、视频显示等信息的处理。
但是,如前所述,开发人员对第三方对象进行开发时,针对一些浏览器进行特性处理的效果比较差,在第三方对象被这些浏览器调用时,会出现异常现象,即出现不兼容的现象,因此,为了提高浏览器与第三方对象之间的兼容性,作为一种优选方式,在步骤S102中,所述在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容具体包括:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容。
在本发明的一种实施例中,可以通过查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述兼容的第三方对象集合中是否存在被浏览器调用的所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
举例而言,预先设置的与所述浏览器兼容的第三方对象集合可以通过人工的方式进行搜集,在应用浏览器的过程中,如果浏览器调用某个第三方对象过程中,没有出现异常的情况,则可以将该第三方对象列入与所述浏览器兼容的第三方对象集合中,其中,与所述浏览器兼容的第三方对象集合可以是列表的形式,也可以是建立浏览器与兼容的第三方对象相对应的数据库的形式,本发明对此不作限制。
当确定所述第三方对象与所述浏览器兼容时,作为一种可选方式,步骤S103中,所述将所述浏览器的身份标识返回给所述第三方对象具体可以为:将所述截获的返回消息发送给所述第三方对象;本领域技术人员可以理解,如果所述第三方对象与所述浏览器兼容,可以直接将所述截获的返回消息发送给所述第三方对象,即将返回消息中的所述浏览器的身份标识发送给第三方对象,当第三方对象接收到所述浏览器的身份标识后,能够被浏览器正常调用。
相应地,当确定所述第三方对象与所述浏览器不兼容时,作为一种可选方式,在步骤S104中,所述获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象具体可以包括:
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
举例而言,可以从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识,从而获取与所述第三方对象兼容的浏览器身份标识。相应地,所述修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识具体包括:
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
在本发明实施例中,从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识的顺序的方式可以是随机选择,也可以是按照预先设定的对应关系进行选择,本发明对选择的方式不做限制。举例而言,预先设置的与所述第三方对象兼容的至少一个浏览器身份标识包括iexplore.exe和chrome.exe,浏览器可能调用A、B和C三个第三方对象,针对第三方对象A、B和C,可以随机选择iexplore.exe或chrome.exe作为与第三方对象A、B、C兼容的浏览器身份标识;也可以针对第三方对象A、B和C分别设置与浏览器的身份标识的对应关系,如针对第三方对象A,选择iexplore.exe作为与A兼容的浏览器身份标识,针对第三方对象B,选择iexplore.exe作为与B兼容的浏览器身份标识,针对第三方对象C,选择chrome.exe作为与C兼容的浏览器身份标识。
如前所述,所述选择的浏览器身份标识为与所述第三方对象兼容的浏览器身份标识,当第三方对象与当前运行的浏览器不兼容时,如果将当前运行的浏览器标识修改为与所述第三方对象兼容的浏览器身份标识,那么第三方对象被当前运行的浏览器调用时,不会出现异常现象,从而在被浏览器调用后能够正常运行。
本发明实施例提供的浏览器的工作方法,在第三方对象根据浏览器的调用请求获取浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容,当所述第三方对象与所述浏览器不兼容时,将与所述第三方对象兼容的浏览器的身份标识返回给所述第三方对象,以使第三方对象接收到所述与所述第三方对象兼容的浏览器的身份标识后,能够正常启动运行,从而使第三方对象被浏览器调用后能够正常在浏览器中运行,因而可以提高浏览器与第三方对象之间的兼容性,使浏览器能够正常显示图片、视频、正常进行网银支付等。
以下结合具体实施例对本发明提供的浏览器的工作方法进行详细的描述。
与上面的实施例相对应,本实施例中第三方对象可以为flash插件、网银支付模块、显卡模块、输入法模块等,为了说明起见,本实施例中以第三方对象为flash插件为例进行说明,本领域技术人员可以理解,其他形式的第三方对象也适用于本实施例中所述的方法,在本实施例中不再赘述。
本实施例提供的浏览器工作方法包括以下步骤:
步骤一、浏览器向flash插件发送调用请求。
举例而言,浏览器可以根据用户的操作向flash插件发送调用请求,用户的操作可以为播放flash视频的操作。
步骤二、所述flash插件根据所述调用请求,调用操作系统提供的接口函数,以根据接口函数的返回消息获取所述浏览器的身份标识,本实施例中为浏览器的进程名,从而确定当前运行的浏览器环境。
通常而言,flash插件接收到浏览器的请求后,通过调用操作系统提供的API(Application Programming Interface,应用程序编程接口)函数来获取当前运行的浏览器的进程名,以确定当前运行的浏览器环境。举例而言,flash插件获取当前运行的浏览器环境的API函数为GetModuleFileNameA,GetModuleFileNameW。
步骤三、浏览器通过挂钩(hook)技术监测所述flash插件调用操作系统提供的接口函数的过程,当监测到接口函数向flash插件返回消息时,截获接口函数的返回消息,根据所述返回消息确定所述flash插件是否与本浏览器兼容,在本实施例中,相当于截获接口函数的返回的浏览器的进程名;
如果是,执行步骤四:
浏览器将所述截获的浏览器的进程名发送给所述flash插件,在本实施例中,相当于浏览器将所述截获的返回消息发送给所述flash插件;
否则,执行步骤五:
获取与所述flash插件兼容的浏览器的进程名,将截获本浏览器的进程名修改为获取的与所述flash插件兼容的浏览器的进程名,将修改后的浏览器的进程名发送给所述flash插件,在本实施例中,也即将截获的返回消息进行修改,修改为与所述flash插件兼容的浏览器的进程名,并将修改后的返回消息发送给flash插件。
具体地,当浏览器监测到flash插件根据所述调用请求调用API函数,根据API函数的返回消息以获取浏览器的身份标识时,通过hook技术hook API函数GetModuleFileNameA,GetModuleFileNameW,到hook_GetModuleFileNameA和hook_GetModuleFileNameW,后称为Hook点,从而截获API函数的返回消息。
flash插件会通过调用Hook点来获得当前进程名,在Hook点里确定flash插件是否与浏览器兼容,如果不兼容则修改当前浏览器的进程名为与flash插件兼容的浏览器进程名,具体地:
首先Hook点获取返回地址,根据返回地址获得Hook点的调用flash插件名称:例如CallerModule,然后根据CallerModule判断:
1.如果CallerModule在"第三方对象白名单"中,将当前运行的浏览器的进程名发送给flash插件。这里,"第三方对象白名单"是与浏览器兼容的第三方对象的集合,该集合可以由人工维护,并及时更新在浏览器中。
2.如果CallerModule是ie的一些自带模块,或者系统的一些模块,或在浏览器"第三方对象黑名单"里,则将从接口函数的返回消息中的浏览器的进程名修改为iexplore.exe或者chrome.exe,并将修改后的进程名iexplore.exe或者chrome.exe发送给flash插件,以使浏览器调用flash插件后不会出现异常情况。这里,"第三方对象黑名单"是与浏览器不兼容的第三方对象的集合,该集合可以由人工维护,并及时更新在浏览器中。
3.如果CallerModule即不在"第三方对象白名单"和"第三方对象黑名单"中,也不是是ie的一些自带模块,或者系统的一些模块,则将所述截获的浏览器的进程名发送给flash插件。
上述的hook技术是一种改变程序执行流程的技术,在本发明实施例提供的技术构思下,本领域技术人员可以根据现有技术和常用技术手段实现hook技术,这里就不再赘述。
本实施例提供的浏览器的工作方法,通过在flash插件根据浏览器的调用请求获取当前运行的浏览器的身份标识时,Hook API函数GetModuleFileNameA,GetModuleFileNameW,然后判断flash插件的名称是否在当前运行的浏览器的“第三方对象黑名单”中,如果浏览器将要调用的flash插件是ie或chrome浏览器的一些自带模块,或系统的一些模块,或在浏览器“第三方对象黑名单”里,则将当前浏览器的进程名修改为iexplore.exe或者chrome.exe,并将修改后的进程名发送给flash插件,相当于将与flash插件兼容性高的浏览器进程名发送给flash插件,flash插件被浏览器调用后按照与其兼容的浏览器进行处理,从而可以提高浏览器与flash插件的兼容性。
与上述实施例提供的浏览器的工作方法相对应,本发明的另一种实施方式还提供一种浏览器,由于本发明提供的浏览器与前面实施例提供的浏览器的工作方法相对应,该浏览器在调用第三方对象时,运用与前述浏览器的工作方法相同的处理流程,因此在前述适用于浏览器的工作方法的实施方式也适用于本实施例提供的浏览器,在本实施例中不再详细描述。
如图2所示,为本发明实施例提供的浏览器的结构示意图,所述浏览器包括:
调用请求模块201,用于向第三方对象发送调用请求;
兼容性确定模块202,用于在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
第一处理模块203,用于在所述兼容性确定模块202确定所述第三方对象与所述浏览器兼容时,将所述第一浏览器的身份标识返回给所述第三方对象;
第二处理模块204,用于在所述兼容性确定模块202确定所述第三方对象与所述浏览器不兼容时,获取与所述第三方对象兼容的第二浏览器的身份标识,并将所述获取的第二浏览器的身份标识返回给所述第三方对象。
如此一来,本发明提供的浏览器,在当兼容性确定模块确定所述第三方对象与所述浏览器不兼容时,第二处理模块获取与所述第三方对象兼容的浏览器身份标识,并将获取的浏览器身份标识返回给所述第三方对象,以使第三方对象接收到所述与所述第三方对象兼容的浏览器的身份标识后,能够正常启动运行,从而使第三方对象被浏览器调用后能够正常在浏览器中运行,因而可以提高浏览器与第三方对象之间的兼容性。
作为一种优选方式,所述兼容性确定模块202用于:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容;
所述第一处理模块203用于:
在所述兼容性确定模块202确定所述第三方对象与所述浏览器兼容时,将所述截获的返回消息发送给所述第三方对象;
所述第二处理模块204用于:
在所述兼容性确定模块202确定所述第三方对象与所述浏览器不兼容时,
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
作为一种优选方式,所述兼容性确定模块202用于:
查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述第三方对象集合中是否存在所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
作为一种优选方式,所述第二处理模块204用于:
从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
作为一种优选方式,所述第三方对象包括flash插件、显卡模块、网银支付模块或输入法模块;
所述浏览器的身份标识为所述浏览器的进程名、或所述浏览器的特征模块或系统版本号。
本发明提供的浏览器,在第三方对象根据浏览器的调用请求获取浏览器的身份标识时,兼容性确定模块确定所述第三方对象是否与所述浏览器兼容,当所述第三方对象是否与所述浏览器不兼容时,第二处理模块将与所述第三方对象兼容的浏览器的身份标识返回给所述第三方对象,以使第三方对象被浏览器调用后能够正常在浏览器中运行,从而可以提高浏览器与第三方对象之间的兼容性,使浏览器能够正常显示图片、视频、正常进行网银支付等。
与上述实施例提供的浏览器的工作方法及浏览器相对应,本发明的再一实施例提供一种终端设备,包括:
处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
向第三方对象发送调用请求;
在所述第三方对象根据所述调用请求获取第一浏览器的身份标识时,确定所述第三方对象是否与所述第一浏览器兼容;
如果是,将所述第一浏览器的身份标识返回给所述第三方对象;
否则,获取与所述第三方对象兼容的第二浏览器的身份标识,并将所述获取的第二浏览器的身份标识返回给所述第三方对象。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型。

Claims (11)

1.一种浏览器的工作方法,其特征在于,所述方法包括:
向第三方对象发送调用请求;
在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
如果是,将所述浏览器的身份标识返回给所述第三方对象;
否则,获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。
2.根据权利要求1所述的方法,其特征在于,所述在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容包括:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容;
所述将所述浏览器的身份标识返回给所述第三方对象包括:
将所述截获的返回消息发送给所述第三方对象;
所述获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象包括:
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第三方对象是否与所述浏览器兼容包括:
查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述第三方对象集合中是否存在所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
4.根据权利要求2所述的方法,其特征在于,所述获取与所述第三方对象兼容的浏览器身份标识包括:
从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识;
所述修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识包括:
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
5.根据权利要求1至4中任一项所述的方法,其特征在于,
所述第三方对象包括flash插件、显卡模块、网银支付模块或输入法模块;
所述浏览器的身份标识为所述浏览器的进程名、所述浏览器的特征模块名称或系统版本号。
6.一种浏览器,其特征在于,包括:
调用请求模块,用于向第三方对象发送调用请求;
兼容性确定模块,用于在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
第一处理模块,用于在所述兼容性确定模块确定所述第三方对象与所述浏览器兼容时,将所述第一浏览器的身份标识返回给所述第三方对象;
第二处理模块,用于在所述兼容性确定模块确定所述第三方对象与所述浏览器不兼容时,获取与所述第三方对象兼容的第二浏览器的身份标识,并将所述获取的第二浏览器的身份标识返回给所述第三方对象。
7.根据权利要求6所述的浏览器,其特征在于,所述兼容性确定模块用于:
在所述第三方对象根据所述调用请求调用接口函数以获取所述浏览器的身份标识时,截获所述接口函数的返回消息,所述返回消息中携带有所述浏览器的身份标识;
根据所述截获的返回消息,确定所述第三方对象是否与所述浏览器兼容;
所述第一处理模块用于:
在所述兼容性确定模块确定所述第三方对象与所述浏览器兼容时,将所述截获的返回消息发送给所述第三方对象;
所述第二处理模块用于:
在所述兼容性确定模块确定所述第三方对象与所述浏览器不兼容时,
获取与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述获取的浏览器身份标识;
将所述修改后的返回消息发送给所述第三方对象。
8.根据权利要求7所述的浏览器,其特征在于,所述兼容性确定模块用于:
查询预先设置的与所述浏览器兼容的第三方对象集合,确定所述第三方对象集合中是否存在所述第三方对象,从而确定所述第三方对象是否与所述浏览器兼容。
9.根据权利要求7所述的浏览器,其特征在于,所述第二处理模块用于:
从预先设置的与所述第三方对象兼容的至少一个浏览器身份标识中选择与所述第三方对象兼容的浏览器身份标识;
修改所述截获的返回消息以将所述返回消息中携带的身份标识修改为所述选择的浏览器身份标识。
10.根据权利要求6至9中任一项所述的浏览器,其特征在于,
所述第三方对象包括flash插件、显卡模块、网银支付模块或输入法模块;
所述浏览器的身份标识为所述浏览器的进程名、所述浏览器的特征模块名称或系统版本号。
11.一种终端设备,其特征在于,包括:
处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
向第三方对象发送调用请求;
在所述第三方对象根据所述调用请求获取所述浏览器的身份标识时,确定所述第三方对象是否与所述浏览器兼容;
如果是,将所述浏览器的身份标识返回给所述第三方对象;
否则,获取与所述第三方对象兼容的浏览器身份标识,并将所述获取的浏览器身份标识返回给所述第三方对象。
CN201310429821.2A 2013-09-18 2013-09-18 一种浏览器的工作方法、浏览器及终端设备 Expired - Fee Related CN103488508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310429821.2A CN103488508B (zh) 2013-09-18 2013-09-18 一种浏览器的工作方法、浏览器及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310429821.2A CN103488508B (zh) 2013-09-18 2013-09-18 一种浏览器的工作方法、浏览器及终端设备

Publications (2)

Publication Number Publication Date
CN103488508A true CN103488508A (zh) 2014-01-01
CN103488508B CN103488508B (zh) 2017-01-18

Family

ID=49828765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310429821.2A Expired - Fee Related CN103488508B (zh) 2013-09-18 2013-09-18 一种浏览器的工作方法、浏览器及终端设备

Country Status (1)

Country Link
CN (1) CN103488508B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955378A (zh) * 2014-03-31 2014-07-30 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN105100203A (zh) * 2015-06-12 2015-11-25 北京京东尚科信息技术有限公司 展示监控数据的方法及终端
CN107643952A (zh) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 本地类库调用方法和装置
CN110413501A (zh) * 2018-04-26 2019-11-05 腾讯科技(深圳)有限公司 浏览器兼容性测试方法、装置、系统及可读存储介质
CN112214712A (zh) * 2020-10-28 2021-01-12 新华三大数据技术有限公司 一种浏览器的自动切换方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122271A1 (en) * 2008-11-10 2010-05-13 Google Inc. Safe browser plugins using native code modules
CN102890724A (zh) * 2012-10-25 2013-01-23 北京奇虎科技有限公司 网页加载方法和装置
CN103064886A (zh) * 2012-12-07 2013-04-24 百度在线网络技术(北京)有限公司 支持多浏览器的方法及插件
CN103197972A (zh) * 2013-04-28 2013-07-10 北京奇虎科技有限公司 浏览器插件的管理方法及装置、浏览器与插件的交互系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122271A1 (en) * 2008-11-10 2010-05-13 Google Inc. Safe browser plugins using native code modules
CN102890724A (zh) * 2012-10-25 2013-01-23 北京奇虎科技有限公司 网页加载方法和装置
CN103064886A (zh) * 2012-12-07 2013-04-24 百度在线网络技术(北京)有限公司 支持多浏览器的方法及插件
CN103197972A (zh) * 2013-04-28 2013-07-10 北京奇虎科技有限公司 浏览器插件的管理方法及装置、浏览器与插件的交互系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955378A (zh) * 2014-03-31 2014-07-30 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN103955378B (zh) * 2014-03-31 2017-10-31 北京奇虎科技有限公司 一种针对ie内核浏览器的配置信息处理方法和装置
CN105100203A (zh) * 2015-06-12 2015-11-25 北京京东尚科信息技术有限公司 展示监控数据的方法及终端
CN105100203B (zh) * 2015-06-12 2019-03-15 北京京东尚科信息技术有限公司 展示监控数据的方法及终端
CN107643952A (zh) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 本地类库调用方法和装置
CN107643952B (zh) * 2016-07-20 2020-03-17 平安科技(深圳)有限公司 本地类库调用方法和装置
CN110413501A (zh) * 2018-04-26 2019-11-05 腾讯科技(深圳)有限公司 浏览器兼容性测试方法、装置、系统及可读存储介质
CN110413501B (zh) * 2018-04-26 2022-02-18 腾讯科技(深圳)有限公司 浏览器兼容性测试方法、装置、系统及可读存储介质
CN112214712A (zh) * 2020-10-28 2021-01-12 新华三大数据技术有限公司 一种浏览器的自动切换方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN103488508B (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN102693280B (zh) 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端
CN103049320A (zh) 在浏览器中启动外部应用程序的方法和装置
CN109558323B (zh) 用于调试页面的系统、方法和装置
US20110138376A1 (en) Interworking system between user terminal and smart card for executing widget, and method thereof
CN103488508A (zh) 一种浏览器的工作方法、浏览器及终端设备
CN103246578A (zh) 应用软件进行崩溃处理的方法及进行崩溃处理的浏览器
CN111324378B (zh) 一种面向视频监控应用软件的配置方法、装置及设备
CN110489312A (zh) 用于控件触发数据采集的数据关联方法和装置
CN104881273A (zh) 一种网页渲染的分析方法和终端设备
CN111367518A (zh) 页面布局方法、装置、计算设备及计算机存储介质
CN111666199B (zh) 在智能终端上执行的调试方法以及软件调试器
CN108319474B (zh) 一种页面信息生成方法、装置和设备
CN111338625A (zh) 一种数据处理方法、系统、终端设备以及存储介质
CN114385124A (zh) 基于Vue框架的独立页面的跳转方法、装置及设备
CN112148395A (zh) 页面显示方法、装置、设备及存储介质
CN111626021B (zh) 一种演示文稿生成方法及装置
CN109582580B (zh) 用于调试页面的系统、方法和装置
CN104836820A (zh) 客户端交互方法与系统以及客户端
CN108009084B (zh) 一种混合移动应用的测试方法、装置及系统
CN108037914B (zh) 一种安卓原生系统结合js开发的方法及装置
CN108572985B (zh) 一种页面显示方法及装置
US20190172263A1 (en) Method and apparatus for augmenting reality
CN112433741B (zh) 页面处理方法、装置、系统、电子设备及存储介质
CN112100553B (zh) 一种网页页面配置方法、装置、电子设备及存储介质
CN114359464A (zh) 一种基于glsl es的图像渲染方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 Beijing city Shijingshan District Badachu high tech Park West Wells Road No. 3 Building No. 3 1100A

Patentee after: Beijing Cheetah Mobile Technology Co.,Ltd.

Address before: 100041 Beijing city Shijingshan District Badachu high tech Park West Wells Road No. 3 Building No. 3 1100A

Patentee before: SHELL INTERNET (BEIJING) SECURITY TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170118

Termination date: 20210918