一种浏览器插件调用方法及系统技术方案

技术编号:8078778 阅读:201 留言:0更新日期:2012-12-13 21:29
本发明专利技术公开了一种浏览器插件调用方法及系统,包括预先设置用于访问插件的URL地址;在接收到页面跳转通知时,确定出需要跳转的URL地址为用于访问插件的URL地址,不进行页面跳转,从URL中读取参数,使插件获得传入的数据。通过本发明专利技术调用插件的方法,通过app模拟通常页面调用插件的各个接口,实现了对插件的模拟,同时也实现了数据在插件和javascript脚本之间的输入输出,提供了第三方用户使用NPAPI技术的便利性,增加了灵活性,达到了一般应用要求。

【技术实现步骤摘要】

本专利技术涉及插件技术,尤指一种iOS系统的浏览器插件调用方法及系统
技术介绍
网页往往需要调用插件的功能来实现更丰富的表现,更强大的功能,比如IE浏览器的ActiveX ;又如firefox、safari、chrome等浏览器使用的网景插件应用程序编程接口(NPAPI,Netscape Plugin Application Programming Interface)的插件。在网页中经常看到的flash就是这种插件技术的一种表现。iOS系统是美国苹果公司(Apple Inc.)用于移动设备(如iphone、ipad)的操 作系统。iOS系统使用safari浏览器作为内置浏览器,目前,在safari浏览器上实现插件技术有NPAPI组件技术。NPAPI是一套用于webkit内核浏览器公开的、特定的接口,只要遵循这套接口编写出对应的模块文件,并将该模块文件放置到safari的插件目录下,就能实现safari装载该对应的模块,接着网页即可调用该插件。比如苹果公司在移动设备中内置有QuickTime插件,QuickTime是苹果公司的播放器,通过这个组件,网页就能调用QuickTime进行音视频的播放;又比如第三方开发的Safari下载管理(Safari DownloadManager)插件,实现了 safari的下载管理,等等。现有插件技术的使用方式如图I所示,整个操作环境是在浏览器中进行的,浏览器在打开网页时,会有javascript脚本与插件,数据的交换就在插件与javascript脚本间进行。现有iOS平台的NPAPI的缺点主要是,美国苹果公司对插件技术的封闭,第三方软件开发厂商是不得使用和修改的。目前,NPAPI技术所碰到的问题是美国苹果公司不让插件出现在safari浏览器中,因此,对于第三方软件开发厂商来讲,图I中的插件模块是不存在的,这样,javascript脚本就无法找到数据交换的对象。而部分第三方软件开发厂商开发的iOS下的NPAPI插件,需要用户对iOS进行破解后才能使用,这样又会存在几个问题美国苹果公司禁止对iOS进行破解,因此,其不会对进行了 iOS破解的设备提供维修保障,而且对iOS的破解是触犯知识产权保护法的;iOS破解后会产生安全风险,并且容易使得系统不稳定。综上所述,第三方用户在使用NPAPI技术非常受限制,缺乏灵活性,达不到一般应用要求。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种浏览器插件调用方法及系统,能够提供第三方用户使用NPAPI技术的便利性,增加灵活性,达到一般应用要求。为达到上述目的,本专利技术的技术方案是这样实现的一种浏览器插件调用方法,预先设置用于访问插件的URL地址;该方法还包括在接收到页面跳转通知时,确定出需要跳转的URL地址为用于访问插件的URL地址,不进行页面跳转,从URL中读取参数,使插件获得传入的数据。在确定出需要跳转的URL地址不是用于访问插件的URL地址时,该方法还包括进行正常页面跳转,结束本流程。当所述插件需要反馈数据到页面时,该方法还包括所述插件通过浏览器接口的方法,直接通过javascript脚本将数据注入到页面。所述通过浏览器接口的方法,直接通过javascript脚本将数据注入到页面包括预先设置用于保存插件传出给页面的数据的javascript变量;所述插件通过浏览器控件UIWebView 的 StringByEvaluatingjavaScriptFromString方法,将数据存储到该javascript变量中; 所述页面直接访问该javascript变量以获得数据。所述插件是iOS的应用app程序。一种浏览器插件调用系统,至少包括插件、浏览器、页面,以及javascript脚本,其中,Javascript脚本位于浏览器中,用于发起页面跳转通知;插件,位于浏览器外并监视浏览器相关事件,用于接收页面准备跳转的通知,在确定出URL地址为用于访问插件的URL地址时,阻止页面跳转后,从URL中读取参数,使插件获得传入的数据。所述插件,还用于通过浏览器控件的方法,将数据存储到预先设置的javascript变量;相应地,所述javascript脚本,还用于直接访问该javascript变量以获得数据。所述插件是iOS的应用app程序。从上述本专利技术提供的技术方案可以看出,包括预先设置用于访问插件的URL地址;在接收到页面跳转通知时,确定出需要跳转的URL地址为用于访问插件的URL地址,不进行页面跳转,从URL中读取参数,使插件获得传入的数据。通过本专利技术调用插件的方法,通过app模拟通常页面调用插件的各个接口,实现了对插件的模拟,同时也实现了数据在插件和javascript脚本之间的输入输出,提供了第三方用户使用NPAPI技术的便利性,增加了灵活性,达到了一般应用要求。附图说明图I为现有插件技术的使用方式的示意图;图2为本专利技术浏览器插件调用方法的流程图;图3为本专利技术浏览器插件调用系统的组成结构示意图;图4为本专利技术数据传入插件的实施例的流程示意图;图5为本专利技术插件数据传出的实施例的示意图。具体实施例方式图2为本专利技术插件调用方法的流程图,如图2所示,包括以下步骤步骤200 :预先设置用于访问插件的URL地址。本步骤中,预先设置的URL地址是一个唯一的标识,具体取什么值并不做限定,但需要保证是唯一的,这样,在后续处理页面跳转时,可以通过该URL地址识别出是针对插件本身的请求,与区别于其他正常的页面访问URL地址,从而采取相应的跳转方式。步骤201 :在接收到页面跳转通知时,确定URL地址是否为用于访问插件的URL地址,如果是,进入步骤202 ;否则进行现有的正常跳转并结束本流程。对于页面数据传入到插件的情况,只是希望页面把数据传进来,并不希望页面发生跳转,因此,本步骤中,在检测到页面跳转通知中的URL地址与预先设置的用于访问插件的URL地址一致,则不需要进行浏览器跳转。步骤202 :不进行页面跳转,从URL中读取参数,使插件获得传入的数据。本步骤中,从javascript代码中直接读取从页面传入插件的数据即可。其中,插件可以是iOS的应用(app)程序。其中,app指iOS系统上的公开发行的软件程序,app程序其实是iOS的一个普通程序,用户可以从appstore (—个美国苹果公司 的软件中心)下载安装。需要说明的是,这个app内嵌了浏览器,这样,浏览器中的信息交换就能被app所获取。需要说明的是,app内嵌浏览器是iOS开发下的通用行为,具体实现不属于本专利技术的保护范围,是本领域技术人员的惯用技术,比如很多windows程序内嵌一个浏览器用于展示广告页面,是很常见的,iOS系统下也是同样如此。本专利技术方法还包括当插件需要反馈数据到页面时,插件通过浏览器接口UIffebView 的 StringByEvaluatingjavaScriptFromString 方法直接通过 javascript脚本将数据注入到页面。具体来讲包括预先设置用于保存插件传出给页面的数据的javascript 变量,插件通过浏览器控件 UIWebView 的 StringByEvaluatingJavaScriptFromString方法,将数据存储到该javas本文档来自技高网
...

【技术保护点】
一种浏览器插件调用方法,其特征在于,预先设置用于访问插件的URL地址;该方法还包括:在接收到页面跳转通知时,确定出需要跳转的URL地址为用于访问插件的URL地址,不进行页面跳转,从URL中读取参数,使插件获得传入的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:何畅周鹏里
申请(专利权)人:深圳市财付通科技有限公司
类型:发明
国别省市:

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

1