本发明专利技术提供了一种浏览器缩放状态检测方法和装置,所述方法包括:在浏览器网页加载JS文件之后,对浏览器进行识别,得到浏览器信息,其中,所述浏览器信息包括标识浏览器的内核类型的信息;根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例;根据所述缩放比例确定浏览器的缩放状态。本发明专利技术减少因为页面插入Flash带来的流量浪费,通过不同内核类型的浏览器的屏幕显示参数确定缩放比例,只通过JS检测不同内核类型的浏览器的缩放状态,降低了代码维护的难度。同时,避免了setInterval定时器的使用,减少了系统内存资源消耗。
【技术实现步骤摘要】
浏览器缩放状态检测方法与装置
本专利技术涉及计算机
,特别是涉及一种浏览器缩放状态检测方法与装置。
技术介绍
当用户对页面进行缩小或放大操作时,原本的页面布局就会被打破。为此,需要网页开发者实现页面布局缩小或放大的自适应操作,在该自适应操作过程中,对浏览器的缩放状态的检测是必不可少的一环。现有的一种基于Flash实现的浏览器缩放状态检测的方法包括以下步骤:用户打开网页,网页加载Flash,Flash加载完成后,调用setInterval函数开启浏览器网页缩放状态监测定时器,所述定时器用变量sizeCheck表示,用于对Flash通过API(ApplicationProgrammingInterface,应用程序编程接口)获取的值进行阶段性汇总;当用户改变浏览器网页的缩放状态时,Flash调用API获取object或者embed的属性height值以及Flash舞台的属性stageHeight值,并获取stageHeight值与height值的商值,且用zoom表示上述商值;Flash使用ExternalInterface.call方法将zoom以参数形式发送至页面;页面的javascript中自定义的函数checkZoom接收参数数据后,根据所述参数数据判断浏览器页面的缩放状态。上述方法存在以下问题:1、如果用户未在浏览器中安装Flash播放器,上述方法无法使用。2、在页面初始化时,要载入一个Flash文件,该文件一般很大,浪费网页流量。3、在代码维护中,需要维护2种不同的代码,分别为Flash的actionscript和js(因为需要使用setInterval监控,所以需要在页面中部署一个js文件来承载这些监控代码),不是所有开发人员都熟悉Flash的actionscript,代码维护难度大。4、当前页面中打开一个setInterval定时器进行网页缩放状态检测,比较消耗系统内存资源。
技术实现思路
鉴于上述现有的浏览器缩放状态检测方法需要借助Flash播放器实现,而且载入的Flash文件较大,浪费网页流量,同时对Flash的actionscript代码维护难度大,利用setInterval定时器进行网页缩放状态检测消耗系统内存资源,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器缩放状态检测方法与装置。依据本专利技术的一个方面,提供了一种浏览器缩放状态检测方法,包括:在浏览器网页加载JS文件之后,对浏览器进行识别,得到浏览器信息,其中,所述浏览器信息包括标识浏览器的内核类型的信息;根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例;根据所述缩放比例确定浏览器的缩放状态。可选地,所述对浏览器进行识别,得到浏览器信息,包括:创建所述JS文件的对外释放接口函数;通过所述对外释放接口函数内部调用用户代理函数,获取浏览器的用户代理信息,得到所述浏览器信息;其中,所述对外释放接口函数用于释放所述JS文件的对外接口;所述用户代理信息包括硬件平台信息、系统软件信息、应用软件信息、用户个人偏好信息中的至少一个;所述应用软件信息包括所述浏览器信息。可选地,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为采用Trident内核的浏览器时,获取显示屏幕的物理像素和设备独立像素;将所述显示屏幕的物理像素与所述设备独立像素相除,得到缩放比例。可选地,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为Gecko内核的浏览器时,获取显示屏幕的物理像素与设备独立像素的比值并传入至媒体查询应用程序编程接口中进行递归检测,得到缩放比例;或者,创建拆半检索函数,获取显示屏幕的物理像素与设备独立像素的比值并传入至所述拆半检索函数中进行递归检测,得到缩放比例。可选地,所述根据所述浏览器的内核类型的信息获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为Presto内核的浏览器时,获取浏览器窗口元素的外部实际宽度和浏览器窗口元素的内部实际宽度;将所述浏览器窗口元素的外部实际宽度与所述浏览器窗口元素的内部实际宽度相除,得到缩放比例。可选地,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为采用Webkit内核的浏览器时,判断浏览器是否支持设备像素比应用程序编程接口;根据判断结果获取与所述判断结果相对应的屏幕显示参数,并依据与所述判断结果相对应的屏幕显示参数确定浏览器的缩放比例。可选地,所述根据判断结果获取与所述判断结果相对应的屏幕显示参数,并依据与所述判断结果相对应的屏幕显示参数确定浏览器的缩放比例,包括:若浏览器支持设备像素比应用程序编程接口,获取显示屏幕的物理像素和设备独立像素,以及浏览器窗口元素的外部实际宽度和浏览器窗口元素的内部实际宽度;通过S=(P×O-8)/I得到缩放比例,其中S为缩放比例,P为显示屏幕的物理像素与设备独立像素的比值,O为浏览器窗口元素的外部实际宽度,I为浏览器窗口元素的内部实际宽度;若浏览器不支持设备像素比应用程序编程接口,创建层叠样式表单元的位置和层次DIV元素,并设置所述DIV元素中的文字字号固定为100,将100与所述DIV元素的高度相除,得到缩放比例。根据本专利技术的另一方面,提供了一种浏览器缩放状态检测装置,包括:浏览器识别模块,用于在浏览器网页加载JS文件之后,对浏览器进行识别,得到浏览器信息,其中,所述浏览器信息包括标识浏览器的内核类型的信息;缩放比例确定模块,用于根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例;缩放状态确定模块,用于根据所述缩放比例确定浏览器的缩放状态。可选地,所述浏览器识别模块,包括:函数创建子模块,用于创建所述JS文件的对外释放接口函数;用户代理信息获取子模块,用于通过所述对外释放接口函数内部调用用户代理函数,获取浏览器的用户代理信息,得到所述浏览器信息;其中,所述对外释放接口函数用于释放所述JS文件的对外接口;所述用户代理信息包括硬件平台信息、系统软件信息、应用软件信息、用户个人偏好信息中的至少一个;所述应用软件信息包括所述浏览器信息。可选地,所述缩放比例确定模块,包括:像素获取子模块,用于当所述浏览器信息标识所述浏览器为采用Trident内核的浏览器时,获取显示屏幕的物理像素和设备独立像素;像素计算子模块,用于将所述显示屏幕的物理像素与所述设备独立像素相除,得到缩放比例。可选地,所述缩放比例确定模块,包括:递归检测子模块,用于当所述浏览器信息标识所述浏览器为Gecko内核的浏览器时,获取显示屏幕的物理像素与设备独立像素的比值并传入至媒体查询应用程序编程接口中进行递归检测,得到缩放比例;本文档来自技高网...
【技术保护点】
一种浏览器缩放状态检测方法,包括:在浏览器网页加载JS文件之后,对浏览器进行识别,得到浏览器信息,其中,所述浏览器信息包括标识浏览器的内核类型的信息;根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例;根据所述缩放比例确定浏览器的缩放状态。
【技术特征摘要】
1.一种浏览器缩放状态检测方法,包括:在浏览器网页加载JS文件之后,对浏览器进行识别,得到浏览器信息,其中,所述浏览器信息包括标识浏览器的内核类型的信息;所述对浏览器进行识别,得到浏览器信息,包括:创建所述JS文件的对外释放接口函数;通过所述对外释放接口函数内部调用用户代理函数,获取浏览器的用户代理信息,得到所述浏览器信息;其中,所述对外释放接口函数用于释放所述JS文件的对外接口;根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例;根据所述缩放比例确定浏览器的缩放状态。2.根据权利要求1所述的方法,所述用户代理信息包括硬件平台信息、系统软件信息、应用软件信息、用户个人偏好信息中的至少一个;所述应用软件信息包括所述浏览器信息。3.根据权利要求1所述的方法,其中,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为采用Trident内核的浏览器时,获取显示屏幕的物理像素和设备独立像素;将所述显示屏幕的物理像素与所述设备独立像素相除,得到缩放比例。4.根据权利要求1所述的方法,其中,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为Gecko内核的浏览器时,获取显示屏幕的物理像素与设备独立像素的比值并传入至媒体查询应用程序编程接口中进行递归检测,得到缩放比例;或者,创建拆半检索函数,获取显示屏幕的物理像素与设备独立像素的比值并传入至所述拆半检索函数中进行递归检测,得到缩放比例。5.根据权利要求1所述的方法,其中,所述根据所述浏览器的内核类型的信息获取与所述浏览器的内核类型相对应的屏幕显示参数,并依据所述屏幕显示参数确定浏览器的缩放比例,包括:当所述浏览器信息标识所述浏览器为Presto内核的浏览器时,获取浏览器窗口元素的外部实际宽度和浏览器窗口元素的内部实际宽度;将所述浏览器窗口元素的外部实际宽度与所述浏览器窗口元素的内部实际宽度相除,得到缩放比例。6.根据权利要求1所述的方法,其中,所述根据所述浏览器的内核类型的信息,获取与所述浏览器的内核类型相对应的屏幕显示参数,并...
【专利技术属性】
技术研发人员:刘卿,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。