技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种适用于Safari浏览器的插件实现方法及系统与流程  >  正文

一种适用于Safari浏览器的插件实现方法及系统与流程

  • 国知局
  • 2024-07-31 22:57:09

本发明涉及浏览器功能扩展,尤其涉及一种适用于safari浏览器的插件实现方法及系统。

背景技术:

1、随着web技术和浏览器技术的发展,常用的activex和npapi插件技术,逐渐被浏览器厂家所禁用。为了让浏览器页面能够与本地的ukey进行交互完成签名和加密等业务操作,目前多采用基于本地服务的插件实现形式。其基本原理都是,在客户机器上起一个服务,浏览器中的页面向本地服务发送请求,由本地服务进行相关的业务操作,不同的是,不同技术方案中所采用的通讯协议不完全相同。

2、基于本地服务的实现方案均存在如下弊端:1、需要监听一个端口,存在端口占用的风险。本地服务为了能接收到浏览器页面发送过来的请求数据,需要事先约定对某个端口进行监听。浏览器中的页面在需要本地服务做业务处理时,向本地服务监听的端口发送请求数据。但是,由于客户机上的端口使用是随机的,插件事先约定的端口若全部被占用,插件将无法正常工作。2、服务需要长期处于运行状态,稳定性低。由于浏览器页面发送数据的时间是不确定的,本地服务为了能及时接收到页面发送过来的请求数据,其需要长期不间断地处于监听状态。在本地服务长期运行过程中,任意程序对其进行干扰,都将导致本地服务运行出错。3、存在跨域访问问题。浏览器页面与业务服务器通讯的同时,需要与本地插件服务进行通讯。由于本地插件服务的域名与业务服务器域名不一致,存在跨域访问的问题。4、需要在插件中绑定证书私钥由于浏览器的限制。在业务服务为https的情况下,页面与本地插件服务通讯也必须使用https。此时就需要在插件的服务中绑定一张服务器证书,并将私钥以数据的形式存储到客户机器上。该服务器证书的合规性和安全性都存在问题。所以现有的插件实现方式难以满足safari浏览器的需求。

技术实现思路

1、本发明提供一种适用于safari浏览器的插件实现方法及系统,用以解决现有基于本地服务的safari浏览器插件程序端口占用和长期运行的问题。

2、本发明提供一种适用于safari浏览器的插件实现方法,包括:

3、获取浏览器页面发送的请求数据;

4、通过url scheme跳转协议唤起载体程序;

5、基于所述请求数据对应的页面编码,以及通过载体程序查找的host程序,生成响应数据;

6、扩展程序将所述响应数据发送至浏览器页面,完成插件调用。

7、根据本发明提供的一种适用于safari浏览器的插件实现方法,所述获取浏览器页面发送的请求数据,具体包括:

8、扩展程序接收浏览器页面发送的请求数据,根据浏览器页面特征为所述浏览器页面创建唯一的页面编码。

9、根据本发明提供的一种适用于safari浏览器的插件实现方法,所述根据浏览器页面特征为所述浏览器页面创建唯一的页面编码之后,还包括:

10、扩展程序将页面编码和请求数据一起存入共享数据字典。

11、根据本发明提供的一种适用于safari浏览器的插件实现方法,所述共享数据字典是位于同一个应用程序群组中的扩展程序和载体程序所共享的。

12、根据本发明提供的一种适用于safari浏览器的插件实现方法,所述通过urlscheme跳转协议唤起载体程序,具体包括:

13、扩展程序基于调用请求唤起载体程序;

14、其中,所述调用请求是通过url scheme跳转协议向操作系统发起的。

15、根据本发明提供的一种适用于safari浏览器的插件实现方法,所述基于所述请求数据对应的页面编码,以及通过载体程序查找的host程序,生成响应数据,具体包括:

16、载体程序通过请求数据内容确定请求数据类型;

17、基于所述请求数据类型,获取host程序对请求数据进行处理生成的响应数据;

18、其中,所述host程序是根据请求数据类型通过扩展程序唤起的载体程序查找的。

19、本发明还提供一种适用于safari浏览器的插件实现系统,所述系统包括:

20、请求数据获取模块,用于获取浏览器页面发送的请求数据;

21、唤起模块,用于通过url scheme跳转协议唤起载体程序;

22、响应数据生成模块,用于基于所述请求数据对应的页面编码,以及通过载体程序查找的host程序,生成响应数据;

23、数据返回模块,用于扩展程序将所述响应数据发送至浏览器页面,完成插件调用。

24、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述适用于safari浏览器的插件实现方法。

25、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述适用于safari浏览器的插件实现方法。

26、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述适用于safari浏览器的插件实现方法。

27、本发明提供的一种适用于safari浏览器的插件实现方法及系统,通过事件的机制将数据发送给扩展程序,然后,扩展程序中采用共享数据字典的方式将数据传递给载体程序;数据传递过程中,不需要占用指定的端口,也就不存在端口冲突的问题;接口调用时载体程序由扩展程序通过url scheme的方式唤起,调用完成之后,载体程序即可退出,进程无需常驻,也就不存在稳定性的问题;浏览器页面中的数据通过扩展程序传递到载体程序中,无需访问本地的服务,无需跨域。

技术特征:

1.一种适用于safari浏览器的插件实现方法,其特征在于,包括:

2.根据权利要求1所述的适用于safari浏览器的插件实现方法,其特征在于,所述获取浏览器页面发送的请求数据,具体包括:

3.根据权利要求2所述的适用于safari浏览器的插件实现方法,其特征在于,所述根据浏览器页面特征为所述浏览器页面创建唯一的页面编码之后还包括:

4.根据权利要求3所述的适用于safari浏览器的插件实现方法,其特征在于,所述共享数据字典是位于同一个应用程序群组中的扩展程序和载体程序所共享的。

5.根据权利要求1所述的适用于safari浏览器的插件实现方法,其特征在于,所述通过url scheme跳转协议唤起载体程序,具体包括:

6.根据权利要求1所述的适用于safari浏览器的插件实现方法,其特征在于,所述基于所述请求数据对应的页面编码,以及通过载体程序查找的host程序,生成响应数据,具体包括:

7.一种适用于safari浏览器的插件实现系统,其特征在于,所述系统包括:

8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述适用于safari浏览器的插件实现方法。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述适用于safari浏览器的插件实现方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述适用于safari浏览器的插件实现方法。

技术总结本发明提供一种适用于Safari浏览器的插件实现方法及系统,包括:获取浏览器页面发送的请求数据;通过URL scheme跳转协议唤起载体程序;基于所述请求数据对应的页面编码,以及通过载体程序查找的Host程序,生成响应数据;扩展程序将所述响应数据发送至浏览器页面,完成插件调用。本发明解决了现有基于本地服务的Safari浏览器插件程序端口占用和长期运行的问题。技术研发人员:胡军华,秘相友,金凡,张欣欣,姜景竹受保护的技术使用者:中金金融认证中心有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/195465.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。