一种移动浏览器特性检测及结果统计方法

文档序号:6507856阅读:208来源:国知局
一种移动浏览器特性检测及结果统计方法
【专利摘要】本发明涉及浏览器【技术领域】,具体公开了一种移动浏览器特性检测及结果统计方法;包括:对待检测的移动浏览器进行特性判断及特性分类;特性包括事件类特性、样式变化类特性、对象属性类特性;将按特性分类后的移动浏览器分别进行处理,事件类特性的检测:检测并判断事件是否包含HTML ELEMENT元素,即是否支持事件;样式变化类特性的检测:通过定义模拟元素待检测的样式,将模拟元素预期得到属性结果写成回调方法,传入模拟变化后元素样式实际的值,判断回调中的预期结果与实际结果是否相等,即是否支持样式;HTML对象属性类特性的检测;根据不同特性的检测,得到移动浏览器是否支持相应的特性。本发明可以单一依靠特性检测,并且特性支持数据结果收集统计。
【专利说明】一种移动浏览器特性检测及结果统计方法

【技术领域】
[0001]本发明涉及浏览器【技术领域】,尤其是涉及一种移动浏览器特性检测及结果统计方法。

【背景技术】
[0002]随着移动互联网的兴起,人们在移动端使用互联网时间越来越长。移动端对用户交互的需求越来越高,进而HTML5和CSS3技术应用越来越广泛。HTML5是用于取代1999年所制定的HTML4.01和XHTML1.0标准的HTML标准版本。HTML5有两大特点:首先,强化了Web网页的表现性能。其次,追加了本的数据库等Web应用的功能。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合,此组合旨在减少浏览器对于插件的丰富网络应用服务(plug-1n-based rich internet applicat1n, RIA),如 AdobeFlash、Microsoft Silver Light,和Oracle Java FX插件,并提供更多有效增强网络应用的标准集。CSS即层叠样式表(Cascading Style Sheet),在网页制作时采用CSS技术,可以有效的对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。CSS3是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块过于庞大而且非常复杂,所以,将它分解为一些小的模块,也能使更多新模块也加入进来;这些模块包括:盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效和多栏布局等。
[0003]对于不同的操作系统,不同版本的浏览器对HTML5和CSS3技术的支持参差不齐,传统情况下,开发人员通过User-Agent判断浏览器,User-Agent (用户代理)是一个只读的字符串,声明了浏览器用于HTTP请求的User-Agent Header (用户代理头O的值。一般来讲,User-Agent 是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVers1n的值构成的,appCodeName属性是一个只读字符串,声明了浏览器的代码名;navigator.appVers1n判断客户端浏览器类型和版本,这是HTMLREF.CHM里面的内容。User-Agent只针对浏览器进行判断,判断结果往往一刀切,造成浏览器因为不支持其中某一项,而舍弃了其它的功能项。
[0004]现有技术使用简单的浏览器特性检测,往往仅是单一判断,没有体系化整体判断,对特性检测的结果也无法收集统计,无法了解产品的用户群体。目前还没有有效的解决方案。


【发明内容】

[0005]本发明所解决的技术问题是提供一种移动浏览器特性检测及结果统计方法,本发明避免了现有技术只对浏览器本身进行检测,若浏览器不支持其中一项,便舍弃其它部分,造成技术不能大规模应用的问题;同时解决了浏览器单一依靠特性检测不成体系,并且特性支持数据无法进行结果收集统计的问题。本发明抛弃浏览器种类检测,依靠特性检测,不但可以得到单一特性支持,而且选择相应技术,还能够通过特定方法,对一组重要特性的支持度进行结果收集,提高了用户体验效果。
[0006]为了解决上述技术问题,本发明提供了一种移动浏览器特性检测方法,包括:
[0007]S1、对待检测的移动浏览器进行特性判断及特性分类;所述特性包括事件类特性、样式变化类特性和对象属性类特性;
[0008]S2、将按所述特性分类后的所述移动浏览器分别进行处理,选择下述步骤S2.1、S2.2或S2.3 —种或几种进行处理;
[0009]S2.1、所述事件类特性的检测:列举出与HTML ELEMENT相关的事件,检测所述事件,创建HTML ELEMENT元素,判断所述事件是否包含所述HTML ELEMENT元素,所述HTMLELEMENT元素包含选择,改变,提交,复位,误差,负载和中止,依次加入是或否未定义的方法进行判断;
[0010]若所述判断的结果为未定义,则所述移动浏览器不支持所述事件;
[0011]若所述判断的结果不为未定义,则所述移动浏览器支持所述事件;
[0012]S2.2、所述样式变化类特性的检测:通过DHTML的cssText API,定义模拟元素待检测的样式,所述样式包含:高度,宽度,圆角,背景,阴影,渐变和字体格式,通过所述模拟元素的所述样式的变化,将所述模拟元素预期得到属性结果写成回调方法,调用设置的所述回调方法,传入模拟变化后元素样式实际的值,两者进行属性上的比较,判断回调中的预期结果与实际结果是否相等;
[0013]若所述预期结果与所述实际结果相等,则浏览器支持所述样式;
[0014]若所述预期结果与所述实际结果不相等,则所述浏览器不支持所述样式或支持所述样式但所述样式存在缺陷;
[0015]S2.3、所述HTML对象属性类特性的检测:预先设置一个待检测的HTML属性集合,所述HTML属性集合包含:地理信息,网页工作类,本地数据库,套接字连接,画板,本地缓存,信息传递,音频和视频,通过所述HTML属性集合创建一个对应的检测方法,所述检测方法中使用关键字“ in”与待检测的所述HTML对象进行属性类特性比较,判断是否为变量未定义;
[0016]若是所述变量未定义,则所述HTML对象不支持所述属性;
[0017]若不是所述变量未定义,则所述HTML对象支持所述属性;
[0018]S3:根据步骤S2中三种不同特性的检测,得到所述移动浏览器是否支持相应的所述事件、是否支持相应的所述样式、或是否具有相应的所述属性的特性的检测结果。
[0019]优选的,所述步骤S2.1中,创建元素时,使用DHTML的API创建元素。
[0020]更加优选的,所述优先选取是找到被创建所述元素,进而通过”运算符找到所述特征的事件。
[0021]一种移动浏览器结果统计方法,包括:
[0022]定义待检测的特性集合,对待测对象中的所述特性集合进行调用,放入待测浏览器中进行运行,对不同特性的结果进行判断,为真则记录1,为假则记录O ;
[0023]将I或0,按从左往右的顺序排列,得到一个二进制数,通过所述二进制数判断对应位上的结果是真还是假,进而反推出特性检测结果。
[0024]优选地,所述特性集合包括事件类特性、样式变化类特性和HTML对象属性类特性。
[0025]其中,所述API (Applicat1n Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0026]其中,所述DHTML是Dynami c HTML的简称,就是动态的html,是相对传统的静态的html而言的一种制作网页的概念。所谓动态HTML (Dynami c HTML,简称DHTML),其实并不是一门新的语言,它只是HTML、CSS和客户端脚本的一种集成,即一个页面中包括html+css+javascript (或其它客户端脚本),其中css和客户端脚本是直接在页面上写而不是链接上相关文件。DHTML不是一种技术、标准或规范,只是一种将目前已有的网页技术、语言标准整合运用,制作出能在下载后仍然能实时变换页面元素效果的网页设计概念。
[0027]其中,所述cssText API是一种用于操作样式表的应用程序接口。API (Applicat1n Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0028]本发明与现有技术相比,具有如下有益效果:
[0029]本发明避免了现有技术只对浏览器本身进行检测,若浏览器不支持其中一项,便舍弃其它部分,造成技术不能大规模应用的问题;同时解决了浏览器单一依靠特性检测不成体系,并且特性支持数据无法进行结果收集统计的问题。本发明抛弃浏览器种类检测,依靠特性检测,不但可以得到单一特性支持,而且特性检测直接调用注册好的特性检测方法,进行调用得到相应结果,还能够通过特定方法,对一组重要特性的支持度进行结果收集,然后决定产品中最大化可以使用的技术。

【专利附图】

【附图说明】
[0030]图1示例性的示出了一种移动浏览器特性检测及结果统计方法流程示意图。

【具体实施方式】
[0031]为了更好的理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
[0032]在优选的实施例中,图1示例性的示出了一种移动浏览器特性检测及结果统计方法流程示意图;包括:
[0033]步骤一、对待检测的移动浏览器进行特性判断及特性分类;所述特性包括事件类特性、样式变化类特性和对象属性类特性;
[0034]步骤二、将按所述特性分类后的所述移动浏览器分别进行处理,选择下述事件类特性、样式变化类特性、对象属性类特性检测的一种或几种进行处理;
[0035]①所述事件类特性的检测:列举出与HTML ELEMENT相关的事件,检测所述事件,创建HTML ELEMENT元素,判断所述事件是否包含所述HTML ELEMENT元素,所述HTMLELEMENT元素包含选择,改变,提交,复位,误差,负载和中止,依次加入是或否未定义的方法进行判断;
[0036]若所述判断的结果为未定义,则所述移动浏览器不支持所述事件;
[0037]若所述判断的结果不为未定义,则所述移动浏览器支持所述事件;
[0038]②所述样式变化类特性的检测:通过DHTML的cssText API,定义模拟元素待检测的样式,所述样式包含:高度,宽度,圆角,背景,阴影,渐变和字体格式,通过所述模拟元素的所述样式的变化,将所述模拟元素预期得到属性结果写成回调方法,调用设置的所述回调方法,传入模拟变化后元素样式实际的值,两者进行属性上的比较,判断回调中的预期结果与实际结果是否相等;
[0039]若所述预期结果与所述实际结果相等,则浏览器支持所述样式;
[0040]若所述预期结果与所述实际结果不相等,则所述浏览器不支持所述样式或支持所述样式但所述样式存在缺陷;
[0041]③所述HTML对象属性类特性的检测:预先设置一个待检测的HTML属性集合,所述HTML属性集合包含:地理信息,网页工作类,本地数据库,套接字连接,画板,本地缓存,信息传递,音频和视频,通过所述HTML属性集合创建一个对应的检测方法,所述检测方法中使用关键字“ in”与待检测的所述HTML对象进行属性类特性比较,判断是否为变量未定义;
[0042]若是所述变量未定义,则所述HTML对象不支持所述属性;
[0043]若不是所述变量未定义,则所述HTML对象支持所述属性;
[0044]步骤三、根据所述步骤二中三种不同特性的检测,得到所述移动浏览器是否支持相应的所述事件、是否支持相应的所述样式、或是否具有相应的所述属性的特性的检测结果O
[0045]在更加优选的实施例中,,所述步骤二中,所述事件类特性的检测中创建元素时,使用DHTML的API创建元素。
[0046]在更加优选的实施例中,,所述优先选取是找到被创建所述元素,进而通过”运算符找到所述特征的事件。
[0047]在优选的实施例中,一种移动浏览器结果统计方法,包括:
[0048]定义待检测的特性集合,对待测对象中的所述特性集合进行调用,放入待测浏览器中进行运行,对不同特性的结果进行判断,为真则记录1,为假则记录O ;
[0049]将I或0,按从左往右的顺序排列,得到一个二进制数,通过所述二进制数判断对应位上的结果是真还是假,进而反推出特性检测结果。
[0050]在更加优选的实施例中,所述特性集合包括事件类特性、样式变化类特性和HTML对象属性类特性。
[0051]具体的实施例中:
[0052]①选取要测试的HTML属性、CSS样式或浏览器事件集合。如:HTML属性类websockets, CSS 样式 rgba,浏览器事件 hashchange ;
[0053]②通过调用register注册集合,然后把代码附加到自己网站的页面底部;
[0054]③声明变量,通过所述提到的结果收集方法,把结果保存在声明的变量中,发送到数据收集服务器;
[0055]④根据收集到的数据,把二进制数转换为二进制数的集合,统计分析用户浏览器中支持的所述三类特性。
[0056]以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。
【权利要求】
1.一种移动浏览器特性检测方法,其特征在于,包括: 51、对待检测的移动浏览器进行特性判断及特性分类;所述特性包括事件类特性、样式变化类特性和对象属性类特性; 52、将按所述特性分类后的所述移动浏览器分别进行处理,选择下述步骤S2.1、S2.2或S2.3 一种或几种进行处理; S2.1、所述事件类特性的检测:列举出与HTML ELEMENT相关的事件,检测所述事件,创建HTML ELEMENT元素,判断所述事件是否包含所述HTML ELEMENT元素,所述HTML ELEMENT元素包含选择,改变,提交,复位,误差,负载和中止,依次加入是或否未定义的方法进行判断; 若所述判断的结果为未定义,则所述移动浏览器不支持所述事件; 若所述判断的结果不为未定义,则所述移动浏览器支持所述事件; S2.2、所述样式变化类特性的检测:通过DHTML的cssText API,定义模拟元素待检测的样式,所述样式包含:高度,宽度,圆角,背景,阴影,渐变和字体格式,通过所述模拟元素的所述样式的变化,将所述模拟元素预期得到属性结果写成回调方法,调用设置的所述回调方法,传入模拟变化后元素样式实际的值,两者进行属性上的比较,判断回调中的预期结果与实际结果是否相等; 若所述预期结果与所述实际结果相等,则浏览器支持所述样式; 若所述预期结果与所述实际结果不相等,则所述浏览器不支持所述样式或支持所述样式但所述样式存在缺陷;S2.3、所述HTML对象属性类特性的检测:预先设置一个待检测的HTML属性集合,所述HTML属性集合包含:地理信息,网页工作类,本地数据库,套接字连接,画板,本地缓存,信息传递,音频和视频,通过所述HTML属性集合创建一个对应的检测方法,所述检测方法中使用关键字“in”与待检测的所述HTML对象进行属性类特性比较,判断是否为变量未定义;若是所述变量未定义,则所述HTML对象不支持所述属性; 若不是所述变量未定义,则所述HTML对象支持所述属性; S3:根据步骤S2中三种不同特性的检测,得到所述移动浏览器是否支持相应的所述事件、是否支持相应的所述样式、或是否具有相应的所述属性的特性的检测结果。
2.根据权利要求1所述的移动浏览器特性检测方法,其特征在于,优选的,所述步骤S2.1中,创建元素时,使用DHTML的API创建元素。
3.根据权利要求1所述的移动浏览器特性检测方法,其特征在于,所述优先选取是找到被创建所述元素,进而通过”运算符找到所述特征的事件。
4.一种移动浏览器结果统计方法,其特征在于,包括: 定义待检测的特性集合,对待测对象中的所述特性集合进行调用,放入待测浏览器中进行运行,对不同特性的结果进行判断,为真则记录1,为假则记录O ; 将I或O,按从左往右的顺序排列,得到一个二进制数,通过所述二进制数判断对应位上的结果是真还是假,进而反推出特性检测结果。
5.根据权利要求4所述的移动浏览器结果统计方法,其特征在于,所述特性集合包括事件类特性、样式变化类特性和HTML对象属性类特性。
【文档编号】G06F11/36GK104375931SQ201310356604
【公开日】2015年2月25日 申请日期:2013年8月15日 优先权日:2013年8月15日
【发明者】孙帅 申请人:北京齐尔布莱特科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1