System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种控制浏览器插件容器窗口的方法技术_技高网
当前位置: 首页 > 专利查询>郭云开专利>正文

一种控制浏览器插件容器窗口的方法技术

技术编号:40992860 阅读:2 留言:0更新日期:2024-04-18 21:34
本发明专利技术涉及浏览器插件领域,公布了一种控制浏览器插件容器窗口的方法:首先在浏览器页面插入一个用于定位的页面元素,创建一个无边框的插件容器窗口,在插件容器窗口加载插件(如ActiveX插件、NPAPI插件等),当页面元素位置或大小变化时,插件容器窗口实时根据页面元素信息更新其自身位置和大小,使插件容器窗口按照浏览器页面布局规则,精准的依附在浏览器页面元素位置;在浏览器打开提示对话框等操作时,采集插件容器窗口界面图像,隐藏插件容器窗口,并将插件容器窗口界面图像在浏览器页面元素上展示。使用户视觉上和操作上感觉不到插件容器窗口的存在,就像浏览器直接加载插件一样似的。如此,将大大减少采集容器窗口界面图像、显示插件容器窗口图像、处理鼠标键盘事件工作,降低计算机资源消耗;同时,也避免了传统插件容器窗口弹窗方案中,插件容器窗口显示突兀,遮挡页面其他元素(提示框、菜单等)等问题。

【技术实现步骤摘要】

本专利技术涉及浏览器领域,尤其涉及一种控制浏览器插件容器窗口的方法


技术介绍

1、浏览器插件是浏览器的重要组成部分,丰富浏览器的能力和应用。但出于对安全性的考虑,因为active x、npapi、ppapi插件可以窃取操作系统底层资源,容易发起恶意攻击,所以,各浏览器对插件的支持越来越弱,截止2022年10月底,chrome发布的107版本及edge等浏览器停止支持ppapi插件运行,至此市面上主流浏览器都不再支持插件技术。但在很多大型oa办公应用等场景,依然离不开浏览器插件,因此,急需一种简单高效的方法解决浏览器加载插件的行业问题。

2、为了解决浏览器加载插件的问题,前期本人专利技术了《一种浏览器加载插件的装置和方法》(申请号:2022110742638)。虽然,该专利技术可以解决所有浏览器加载插件的问题及传统插件容器窗口弹窗体验差的问题,但是该专利技术需要实时采集容器窗口界面图像、显示界面图像、处理鼠标键盘事件,这导致系统资源消耗比较大,对计算机配置要求高。

3、在传统插件容器窗口弹窗方案使用方面,有企业实现浏览器页面控制插件容器窗口位置,虽然该方案能做到根据页面属性信息控制插件容器窗口位置,但是不能做到准确的定位插件容器窗口与页面,插件容器窗口与页面元素的相对位置。因此,当浏览器页面元素布局发生变化时,极难根据指定位置坐标,设置插件容器窗口与页面及页面元素相对位置,与浏览器页面布局效果保持一致;此外,由于不同浏览器页面元素布局存在差异,开发人员根据经验指定的位置信息,不能满足所有浏览器页面显示需要,只能根据已知浏览器显示情况,指定不同的位置信息;这增加了开发人员维护插件容器窗口位置工作负担。由于本方案天然存在遮挡页面元素的问题,由于插件容器窗口定位不准将遮挡页面元素,无论从视觉上还是操作上都非常影响用户体验。

4、为此,本人结合专利技术专利《一种浏览器加载插件的装置和方法》和传统插件容器窗口弹窗方案,专利技术一种控制浏览器插件容器窗口的方法。

5、首先在浏览器页面插入一个用于定位的页面元素,同时创建一个无边框的插件容器窗口,在插件容器窗口加载插件(如activex插件、npapi插件等),当页面元素位置或宽高变化时,插件容器窗口实时根据浏览器页面元素信息更新其自身位置和宽高,使插件容器窗口按照浏览器页面布局规则,精准的依附在浏览器页面元素位置;在浏览器打开提示对话框等操作时,采集插件容器窗口界面图像,并将插件容器窗口界面图像在浏览器页面元素上展示出来,隐藏插件容器窗口,避免了插件容器窗口遮挡提示对话框。从而让用户视觉和操作上感觉不到插件容器窗口的存在,就像浏览器直接加载插件一样似的。如此,将大大减少专利技术专利《一种浏览器加载插件的装置和方法》采集容器窗口界面图像、显示插件容器窗口图像、处理鼠标键盘事件工作,有效降低计算机资源消耗;同时,也避免了传统插件容器窗口弹窗方案中,插件容器窗口显示突兀,遮挡其他页面元素(提示框、菜单等)的问题。


技术实现思路

1、本专利技术克服传统插件容器窗口弹窗方案及专利《一种浏览器加载插件的装置和方法》(申请号:2022110742638)的不足,专利技术了一种控制浏览器插件容器窗口的方法。

2、本方法中参考或直接使用专利技术专利《一种浏览器加载插件的装置和方法》部分方法和装置,仅为了更好的说明本方法原理,不用来限制本方法保护范围。

3、一种控制浏览器插件容器窗口的方法:包含基于浏览器页面元素定位插件容器窗口位置和大小的方法、插件容器窗口与浏览器页面元素交互的方法。

4、优选地,基于浏览器页面元素定位插件容器窗口位置和大小的方法,包括以下步骤:

5、步骤一、插入浏览器页面元素,创建所述插件容器窗口。在浏览器页面需要显示所述插件容器窗口区域插入浏览器页面元素,用于定位所述插件容器窗口位置,后续将其简称为定位元素。参照专利技术专利《一种浏览器加载插件的装置和方法》中所述浏览器创建插件虚拟桌面运行的方法,创建所述插件容器子系统,所述插件容器子系统在用户桌面内创建所述插件容器窗口,并隐藏所述插件容器窗口;

6、优选地,本方法直接在用户操作桌面创建所述插件容器窗口,不需要创建虚拟桌面;

7、优选地,当所述插件容器窗口不能创建为浏览器窗口的子窗口时,需要监听浏览器窗口位置变化,来调整所述插件容器窗口位置。

8、步骤二、采集定位相关信息。使用javascript脚本采集浏览器信息(包括但不限于浏览器宽高信息)、浏览器页面信息(包括但不限于页面宽高、页面缩放比、垂直或水平滚动条是否存在、页面滚动条宽度信息)、浏览器定位元素信息(包括但不限于定位元素宽坐标及宽高信息)。将上述信息统称为s1,将所述s1信息、位置更新命令cmd01封装成命令数据包p1。

9、步骤三、传送定位相关信息。参照专利技术专利《一种浏览器加载插件的装置和方法》中所述浏览器javascript脚本调用插件方法和属性的方法,将所述命令数据包p1从所述插件交互子系统,经过所述浏览器插件服务子系统,发送给所述浏览器插件容器子系统。

10、步骤四、计算所述浏览器定位元素在屏幕上的位置及宽高:所述插件容器子系统接收所述命令数据包p1,解析命令信息,调用所述插件容器子系统位置更新命令方法。获取上述步骤二中所述s1信息,结合浏览器窗口在用户屏幕中的位置和宽高信息,根据浏览器窗口、浏览器页面、所述定位元素之间位置关系,精准计算出所述浏览器定位元素在屏幕中的位置及宽高;

11、进一步,根据浏览器信息,可以获取浏览器工具条高度toolheight,浏览器页面宽度b_width,浏览器页面高度b_height;

12、进一步,根据所述定位元素信息,可以获取所述定位元素在视图可见区域坐标(e_left,e_top)及宽高(e_width,e_height);

13、进一步,可以通过系统接口,获取浏览器窗口的屏幕坐标(c_left,c_top)及宽高(c_width,c_height);

14、进一步,使用上述信息,根据浏览器窗口、浏览器页面、所述定位元素之间位置关系,精准计算所述插件容器窗口在屏幕中的位置(d_left,d_top)及宽高(d_width,d_height)。即:

15、d_left = c_left + e_left

16、d_top = c_top + toolheight + e_top

17、d_width = e_width

18、d_height = e_height

19、进一步:

20、当e_left小于零时,表示所述插件容器窗口越过浏览器页面左边界,此时:

21、d_left = c_left 且d_width = e_width + e_left

22、当e_top小于零时,表示所述插件容器窗口越过浏览器页面上边界,此时:

23、d_top = c_本文档来自技高网...

【技术保护点】

1.一种控制浏览器插件容器窗口的方法,其特征在于:包含如下方法:

2.如权利要求1所述的方法,其特征在于,所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,包括以下步骤:

3.根据权利要求2所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤S11插入浏览器页面元素,创建所述插件容器窗口:在浏览器页面需要显示所述插件容器窗口区域插入浏览器页面元素,用于定位所述插件容器窗口位置,后续将其简称为定位元素,创建所述插件容器子系统,所述插件容器子系统在用户桌面内创建所述插件容器窗口,并隐藏所述插件容器窗口。

4.根据权利要求2所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤S12采集定位相关信息:使用JavaScript脚本采集浏览器信息(包括但不限于浏览器宽高信息)、浏览器页面信息(包括但不限于页面宽高、页面缩放比、垂直或水平滚动条是否存在、页面滚动条宽度信息)、浏览器页面元素信息(包括但不限于页面元素宽坐标及宽高信息)。

5.根据权利要求2所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤S13传送定位相关信息:将所述步骤S12中所述定位相关信息从所述插件交互子系统,经过所述浏览器插件服务子系统,发送给所述浏览器插件容器子系统。

6.根据权利要求2所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤S14计算浏览器定位元素在屏幕上的位置及宽高:根据所述步骤S12中所述定位相关信息,结合浏览器窗口在设备屏幕中的位置和宽高信息;根据浏览器窗口、浏览器页面、浏览器定位元素之间位置关系,精准计算出所述浏览器定位元素在屏幕中的位置及宽高。

7.根据权利要求2所述方法M1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤S15控制插件容器窗口位置和宽高及显示状态:根据所述步骤S14计算所述浏览器定位元素在屏幕上的位置及宽高,控制所述插件容器窗口位置和宽高,同时调整插件在所述插件容器窗口的位置和宽高。若所述定位元素在屏幕宽及高大于零时,需要显示所述插件容器窗口;若所述定位元素在屏幕宽或高小于或等于零时,说明所述定位元素不在浏览器页面视图可见区域,需要隐藏所述插件容器窗口。

8.如权利要求1所述的方法,其特征在于,所述方法M2插件容器窗口与浏览器页面元素交互的方法,包括以下步骤:

...

【技术特征摘要】

1.一种控制浏览器插件容器窗口的方法,其特征在于:包含如下方法:

2.如权利要求1所述的方法,其特征在于,所述方法m1基于浏览器页面元素定位插件容器窗口位置和大小的方法,包括以下步骤:

3.根据权利要求2所述方法m1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤s11插入浏览器页面元素,创建所述插件容器窗口:在浏览器页面需要显示所述插件容器窗口区域插入浏览器页面元素,用于定位所述插件容器窗口位置,后续将其简称为定位元素,创建所述插件容器子系统,所述插件容器子系统在用户桌面内创建所述插件容器窗口,并隐藏所述插件容器窗口。

4.根据权利要求2所述方法m1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤s12采集定位相关信息:使用javascript脚本采集浏览器信息(包括但不限于浏览器宽高信息)、浏览器页面信息(包括但不限于页面宽高、页面缩放比、垂直或水平滚动条是否存在、页面滚动条宽度信息)、浏览器页面元素信息(包括但不限于页面元素宽坐标及宽高信息)。

5.根据权利要求2所述方法m1基于浏览器页面元素定位插件容器窗口位置和大小的方法,其特征在于:所述步骤s13传送定...

【专利技术属性】
技术研发人员:郭云开郭梓旭
申请(专利权)人:郭云开
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1