CN107632884B - 一种浏览器通过中间装置启动外部应用程序的方法 - Google Patents
一种浏览器通过中间装置启动外部应用程序的方法 Download PDFInfo
- Publication number
- CN107632884B CN107632884B CN201710818094.7A CN201710818094A CN107632884B CN 107632884 B CN107632884 B CN 107632884B CN 201710818094 A CN201710818094 A CN 201710818094A CN 107632884 B CN107632884 B CN 107632884B
- Authority
- CN
- China
- Prior art keywords
- browser
- application program
- external application
- intermediate device
- api
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种浏览器通过中间装置启动外部应用程序的方法,所述浏览器通过中间装置启动外部应用程序;所述中间装置包括本地Web Service接口和API接口,且中间装置通过Web Service接口提供API接口;所述浏览器通过HTTP协议调用中间装置提供的Web Service接口,所述中间装置通过调用API接口以启动外部应用程序。所述API接口包括第一API接口和第二API接口;所述中间装置通过第一API接口读取外部应用程序的完整路径,且中间装置通过第二API接口启动外部应用程序。本发明扩展了浏览器的应用功能,具有较好的应用前景。
Description
技术领域
本发明属于移动通信技术领域,具体涉及一种浏览器通过中间装置启动外部应用程序的方法。
背景技术
用户在通过网页浏览器显示用户设备中的本地应用程序时,不能在浏览器网页中直接运行外部应用程序,因为浏览器不具备启动应用程序的接口;另一方面,即使用户设备本地已经安装了用户需要的外部应用程序,用户在浏览网站需要运行本地的外部应用程序时,也无法获取该应用程序的完整路径。所述外部应用程序是针对浏览器程序而言的,除了浏览器程序以外的跟浏览器有交互的其他应用程序都可以称作为浏览器的外部应用程序。
浏览器无法启动外部应用程序的原因主要有两方面:一方面是由于浏览器没有外部应用程序的完整路径,浏览器和网页无法启动外部应用程序;另一方面是由于浏览器没有启动应用程序的API接口。由于通用浏览器中的安全策略,其<input file=type>标签虽然可以在本地计算机中选择某个文件并读取其中的数据,但最终网页无法通过浏览器提供的接口读取这个文件所在的完整路径,也无法将读取的数据作为应用程序运行。
发明内容
本发明的目的在于提供一种浏览器通过中间装置启动外部应用程序的方法,所述浏览器通过中间装置获取外部应用程序的完整路径和启动外部应用程序;所述中间装置包括本地Web Service接口和API 接口,且中间装置通过Web Service接口提供API 接口;所述浏览器通过HTTP协议调用中间装置提供的Web Service接口;本发明通过中间装置获取外部应用程序的完整路径并通过中间装置启动外部应用程序。
本发明主要通过以下技术方案实现:一种浏览器通过中间装置启动外部应用程序的方法,所述浏览器通过中间装置获取外部应用程序的完整路径和启动外部应用程序;所述中间装置包括本地Web Service接口和API 接口,且中间装置通过Web Service接口提供API 接口;所述浏览器通过HTTP协议调用中间装置提供的Web Service接口;所述浏览器通过调用中间装置的API接口读取外部应用程序的完整路径,且浏览器通过调用中间装置的API接口启动外部应用程序。
所述中间装置的API接口包括第一API接口和第二API接口;所述浏览器通过调用中间装置的第一API接口读取外部应用程序的完整路径,且述浏览器通过调用中间装置的第二API接口启动外部应用程序。
所述浏览器通过HTTP协议调用中间装置提供的Web Service接口的方法为现有技术,且不是本发明的改进点,故不再赘述。
一种浏览器通过中间装置启动外部应用程序的方法,主要包括以下步骤:
步骤S1,运行在浏览器中的Web应用程序通过HTTP协议调用中间装置提供的WebService接口;
步骤S2,所述中间装置通过第一API接口弹出一个文件选择窗口,通过文件选择窗口获取外部应用程序的完整路径,并将外部应用程序的完整路径作为第一API接口的返回值,返回给浏览器中的Web应用程序进行保存;
步骤S3,浏览器中的Web应用程序将之前保存的外部应用程序的完整路径作为参数调用第二API接口,所述第二API接口调用操作***API接口,所述操作***API接口启动外部应用程序,且第二API接口向浏览器中的Web应用程序返回应用程序启动的结果。
所述中间装置需要由人工启动,或在安装后开机自动启动;当浏览器调用中间装置时,若中间装置处于启动状态则按照步骤S1-步骤S3进行;否则将会弹出提醒用户打开中间装置的窗口。
所述步骤S2主要包括以下步骤:
步骤S201,浏览器调用中间装置的第一API接口,若无响应,则弹出提示用户启动中间装置的窗口;若有响应,则中间装置弹出文件选择窗口,用户通过窗口选择目标文件,选择后通过第一API接口返回外部应用程序的完整路径;
步骤S202,浏览器和运行在Web浏览器中的应用程序获得外部应用程序的完整路径,浏览器通过网页保存外部应用程序的完整路径。
所述步骤S3主要包括以下步骤:
步骤S301,用户在浏览器中的Web应用程序中选择要启动的外部应用程序,浏览器中的Web应用程序读取步骤S2已经保存的外部应用程序的完整路径;
步骤S302,浏览器中的Web应用程序以保存的外部应用程序的完整路径作为参数调用中间装置的第二API接口;若无响应,则弹出提示用户启动中间装置的窗口;若有响应,所述第二API接口调用操作***API接口,所述操作***API接口运行外部应用程序;
步骤S303,所述第二API接口根据操作***API接口返回的状态向浏览器中的Web应用程序返回外部应用程序的启动结果。
本发明在使用过程中,所述浏览器以网页的形式保存外部应用程序的完整路径,所述网页以外部应用程序的完整路径作为参数调用中间装置的第二API接口,所述中间装置的第二API接口调用本地计算机的操作***API接口用以启动外部应用程序,从而实现浏览器通过中间装置启动外部应用程序。
为了更好的实现本发明,进一步的,所述步骤S3中的操作***为Windows***、Linux***、macOS***中的任意一种。
为了更好的实现本发明,进一步的,所述浏览器为基于微软IE内核的浏览器、基于谷歌Chrome内核的浏览器、基于Mozilla Gecko内核的浏览器、基于苹果WebKit内核的浏览器中的任意一种。所述浏览器为兼容HTTP协议的通用浏览器。
所述中间装置独立于浏览器运行在本地计算机上所述中间装置提供一个本地WebService服务,并通过Web Service服务提供2个主要的第一API接口和第二API接口。所述第一API接口用于读取外部应用程序的完整路径;所述第二API接口用于启动外部应用程序。
所述第一API接口:所述浏览器调用第一API接口让中间装置弹出一个本地文件选择窗口,所述本地文件选择窗口归属于中间装置且与浏览器无关;因此中间装置可通过此窗口中的选择文件而获取本地文件的完整路径;所述本地文件即为外部应用程序,获取外部程序的完整路径后,中间装置将外部程序的完整路径作为第一API接口的返回值,返回给浏览器和网页,由网页保存;所述第一API接口可不传入参数。
所述第二API接口:所述浏览器中的网页将保存的外部应用程序的完整路径作为参数调用中间装置的第二API接口;所述第二API接口调用操作***的API接口运行外部应用程序;外部应用程序运行后,根据操作***的API接口返回的状态,中间装置向网页返回应用程序启动成功/失败的结果。
本发明的有益效果:
(1)所述浏览器通过中间装置进行读取外部应用程序的完整路径,并通过中间装置提供的API接口进行启动外部的应用程序;
(2)所述第一API接口用于读取外部应用程序的完整路径,浏览器可以通过第一API接口进行读取外部应用程序的完整路径,所述浏览器通过网页存储外部应用程序的完整路径;
(3)所述第二API接口用于启动外部应用程序,所述第二API接口通过调用操作***的API接口从而运行外部应用程序。
附图说明
图1为浏览器读取外部应用程序完整路径的流程框图;
图2为浏览器启动外部应用程序的流程框图。
具体实施方式
实施例1:
在HTTP协议的通用浏览器中,所述中间装置独立于浏览器运行在本地计算机上;所述浏览器通过中间装置获取外部应用程序的完整路径和启动外部应用程序;所述中间装置包括本地Web Service接口和API 接口,且中间装置通过Web Service接口提供API 接口;所述浏览器通过HTTP协议调用中间装置提供的Web Service接口;所述浏览器通过调用中间装置的API接口读取外部应用程序的完整路径,且浏览器通过调用中间装置的API接口启动外部应用程序。
由于通用浏览器中的安全策略,其<input file=type>标签虽然可以在本地计算机中选择某个文件并读取其中的数据,但最终网页无法通过浏览器提供的接口读取这个文件所在的完整路径;当用户在浏览器中选择C:\Windows\System32\mstsc.exe,之后再调用JavaScript中的[input].value方法,浏览器只会返回用户选择文件的文件名“mstsc.exe”字串,而不是返回“C:\Windows\System32\mstsc.exe”字串;因此通用的浏览器无法直接读取外部应用程序的完整路径并直接启动外部应用程序。
运行在浏览器中的Web应用程序通过HTTP协议调用中间装置提供的Web Service接口,所述中间装置的Web Service接口提供有API接口,从而中间装置可以为浏览器提供读取外部应用程序的完整路径和启动外部应用程序,因此浏览器可以通过中间装置启动外部应用程序。
实施例2:
本实施例是在实施例1的基础上进一步优化,所述API接口包括第一API接口和第二API接口。
运行在浏览器中的Web应用程序通过HTTP协议调用中间装置提供的Web Service接口,所述中间装置启动第一API接口读取计算机本地的外部应用程序的完整路径,浏览器从而可以将外部应用程序的完整路径保存在浏览器Web应用程序中;所述浏览器以完整路径作为参数调用中间装置提供的第二API接口,所述第二API接口调用操作***API,从而启动外部应用程序。
本发明通过中间装置获取外部应用程序的完整路径并通过中间装置启动外部应用程序,扩展了浏览器的应用功能,具有较好的应用前景。
本实施例的其他部分同实施例1,故不再赘述。
实施例3:
本实施例是在实施例2的基础上进一步优化,如图1所示,浏览器的Web应用程序通过HTTP协议调用中间装置提供的Web Service接口;所述中间装置通过第一API接口读取外部应用程序的完整路径,当浏览器调用中间装置的第一API接口后,若中间装置无响应,则浏览器中弹出启动中间装置窗口,用户重新启动中间装置;若中间装置响应,所述中间装置弹出文件选择窗口,用户通过窗口选择目标文件,所述中间装置的第一API接口返回外部应用程序的完整路径;所述浏览器的Web应用程序获得外部应用程序的完整路径并将外部程序的完整路径保存在网页中;
浏览器中的网页将之前保存的外部应用程序的完整路径作为参数调用第二API接口,所述第二API接口调用操作***API接口,所述操作***API接口启动外部应用程序,且第二API接口向网页返回应用程序启动的结果。
本发明通过中间装置获取外部应用程序的完整路径并通过中间装置启动外部应用程序,扩展了浏览器的应用功能,具有较好的应用前景。
本实施例的其他部分与实施例2相同,故不再赘述。
实施例4:
本实施例是在实施例2或3的基础上进一步优化,所述浏览器通过第二API接口启动外部应用程序,如图2所示,用户可以在浏览器中选择已经保存的外部程序的完整路径,浏览器中的网页将外部程序的完整路径作为参数调用中间装置的第二API接口,若无响应,则浏览器中弹出请启动中间装置窗口;若响应,则中间装置的第二API接口调用操作***的API接口启动外部应用程序;所述第二API接口向浏览器返回外部程序启动成功/失败的结果。
本发明通过中间装置获取外部应用程序的完整路径并通过中间装置启动外部应用程序,扩展了浏览器的应用功能,具有较好的应用前景。
本实施例的其他部分与上述实施例2或3相同,故不再赘述。
实施例5:
在HTTP协议的通用浏览器中,所述中间装置独立于浏览器运行在本地计算机上;所述浏览器通过中间装置读取外部应用程序的完整路径和启动外部应用程序;所述中间装置的API接口包括第一API接口和第二API接口;所述浏览器通过中间装置启动外部应用程序的方法主要包括以下步骤:
步骤S1,运行在浏览器中的Web应用程序通过HTTP协议调用中间装置提供的WebService接口;
步骤S2,所述中间装置通过第一API接口弹出一个文件选择窗口,通过文件选择窗口获取外部应用程序的完整路径,并将外部应用程序的完整路径作为第一API接口的返回值,返回给浏览器中的Web应用程序进行保存;
步骤S3,浏览器中的Web应用程序将之前保存的外部应用程序的完整路径作为参数调用第二API接口,所述第二API接口调用操作***API接口,所述操作***API接口启动外部应用程序,且第二API接口向浏览器中的Web应用程序返回应用程序启动的结果。
所述步骤S2主要包括以下步骤:
步骤S201,浏览器调用中间装置的第一API接口,若无响应,则弹出提示用户启动中间装置的窗口;若有响应,则中间装置弹出文件选择窗口,用户通过窗口选择目标文件,选择后通过第一API接口返回外部应用程序的完整路径;
步骤S202,浏览器中的Web应用程序获得外部应用程序的完整路径,浏览器中的Web应用程序保存外部应用程序的完整路径。
所述步骤S3主要包括以下步骤:
步骤S301,用户在浏览器中的Web应用程序中选择要启动的外部应用程序,浏览器中的Web应用程序读取步骤S2已经保存的外部应用程序的完整路径;
步骤S302,浏览器中的Web应用程序以保存的外部应用程序的完整路径作为参数调用中间装置的第二API接口;若无响应,则弹出提示用户启动中间装置的窗口;若有响应,所述第二API接口调用操作***API接口,所述操作***API接口运行外部应用程序;
步骤S303,所述第二API接口根据操作***API接口返回的状态向浏览器中的Web应用程序返回外部应用程序的启动结果。
本发明通过中间装置获取外部应用程序的完整路径并通过中间装置启动外部应用程序,扩展了浏览器的应用功能,具有较好的应用前景。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (5)
1.一种浏览器通过中间装置启动外部应用程序的方法,其特征在于,所述浏览器通过中间装置获取外部应用程序的完整路径和启动外部应用程序;所述中间装置包括本地WebService接口和API 接口,且中间装置通过Web Service接口提供API 接口;所述浏览器通过HTTP协议调用中间装置提供的Web Service接口;所述浏览器通过调用中间装置的API接口读取外部应用程序的完整路径,且浏览器通过调用中间装置的API接口启动外部应用程序;
所述中间装置的API接口包括第一API接口和第二API接口;所述浏览器通过调用中间装置的第一API接口读取外部应用程序的完整路径,且述浏览器通过调用中间装置的第二API接口启动外部应用程序;
主要包括以下步骤:
步骤S1,运行在浏览器中的Web应用程序通过HTTP协议调用中间装置提供的WebService接口;
步骤S2,所述中间装置通过第一API接口弹出一个文件选择窗口,通过文件选择窗口获取外部应用程序的完整路径,并将外部应用程序的完整路径作为第一API接口的返回值,返回给浏览器中的Web应用程序进行保存;
步骤S3,浏览器中的Web应用程序将之前保存的外部应用程序的完整路径作为参数调用第二API接口,所述第二API接口调用操作***API接口,所述操作***API接口启动外部应用程序,且第二API接口向浏览器中的Web应用程序返回应用程序启动的结果。
2.根据权利要求1所述的一种浏览器通过中间装置启动外部应用程序的方法,其特征在于,所述步骤S2主要包括以下步骤:
步骤S201,浏览器调用中间装置的第一API接口,若无响应,则弹出提示用户启动中间装置的窗口;若有响应,则中间装置弹出文件选择窗口,用户通过窗口选择目标文件,选择后通过第一API接口返回外部应用程序的完整路径;
步骤S202,浏览器中的Web应用程序获得外部应用程序的完整路径,浏览器中的Web应用程序保存外部应用程序的完整路径。
3.根据权利要求1所述的一种浏览器通过中间装置启动外部应用程序的方法,其特征在于,所述步骤S3主要包括以下步骤:
步骤S301,用户在浏览器中的Web应用程序中选择要启动的外部应用程序,浏览器中的Web应用程序读取步骤S2已经保存的外部应用程序的完整路径;
步骤S302,浏览器中的Web应用程序以保存的外部应用程序的完整路径作为参数调用中间装置的第二API接口;若无响应,则弹出提示用户启动中间装置的窗口;若有响应,所述第二API接口调用操作***API接口,所述操作***API接口运行外部应用程序;
步骤S303,所述第二API接口根据操作***API接口返回的状态向浏览器中的Web应用程序返回外部应用程序的启动结果。
4.根据权利要求1所述的一种浏览器通过中间装置启动外部应用程序的方法,其特征在于,所述步骤S3中的操作***为Windows***、Linux***、macOS***中的任意一种。
5.根据权利要求1-4任一项所述的一种浏览器通过中间装置启动外部应用程序的方法,其特征在于,所述浏览器为基于微软IE内核的浏览器、基于谷歌Chrome内核的浏览器、基于Mozilla Gecko内核的浏览器、基于苹果WebKit内核的浏览器中的任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818094.7A CN107632884B (zh) | 2017-09-12 | 2017-09-12 | 一种浏览器通过中间装置启动外部应用程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818094.7A CN107632884B (zh) | 2017-09-12 | 2017-09-12 | 一种浏览器通过中间装置启动外部应用程序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107632884A CN107632884A (zh) | 2018-01-26 |
CN107632884B true CN107632884B (zh) | 2021-06-01 |
Family
ID=61100904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710818094.7A Active CN107632884B (zh) | 2017-09-12 | 2017-09-12 | 一种浏览器通过中间装置启动外部应用程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107632884B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599486B1 (en) | 2018-09-21 | 2020-03-24 | Citrix Systems, Inc. | Systems and methods for intercepting and enhancing SaaS application calls via embedded browser |
CN109933445A (zh) * | 2019-03-14 | 2019-06-25 | 杭州汉领信息科技有限公司 | 不基于插件的跨浏览器跨***平台的本地应用程序调用方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541575B (zh) * | 2010-12-07 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 浏览器打开的方法和装置、发送闪屏图片的方法和服务器 |
CN103049320B (zh) * | 2012-12-17 | 2016-05-04 | 广州市动景计算机科技有限公司 | 在浏览器中启动外部应用程序的方法和装置 |
CN103064738B (zh) * | 2013-01-15 | 2016-11-02 | 珠海金山办公软件有限公司 | Linux下本地应用程序窗体嵌入浏览器的方法及*** |
CN103473367B (zh) * | 2013-09-27 | 2017-05-03 | 北京奇虎科技有限公司 | 浏览器中使用本地应用程序的方法和网页浏览器 |
CN104239063B (zh) * | 2014-09-23 | 2018-08-10 | 福建星网视易信息***有限公司 | 一种网页浏览器及通过网页浏览器调用本地应用程序的方法 |
-
2017
- 2017-09-12 CN CN201710818094.7A patent/CN107632884B/zh active Active
Non-Patent Citations (1)
Title |
---|
从浏览器快速启动程序;pretty;《电脑爱好者》;20011208;第63页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107632884A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110604B2 (en) | Sandbox technology based webpage browsing method and device | |
US9584612B2 (en) | Systems and methods for pushing applications | |
US10699061B2 (en) | Application page quick access | |
US10754917B2 (en) | Method and system for displaying customized webpage on double webview | |
US10580051B2 (en) | Background element associated with an application installed in a browser application | |
US20160202943A1 (en) | Electronic device and method of processing information in electronic device | |
US9372681B1 (en) | Redirection of a document URL to a natively-operating application | |
CN108304234B (zh) | 一种页面展示方法及装置 | |
US20170032494A1 (en) | Methods for displaying a webpage fragment on a desktop and systems for taking a snapshot of webpage fragment for displaying on a desktop | |
US20130290898A1 (en) | Method for presenting prompt message, terminal and server | |
US20210271491A1 (en) | Application processing method, device, electronic device and storage medium | |
CN107632884B (zh) | 一种浏览器通过中间装置启动外部应用程序的方法 | |
CN108345683B (zh) | 网页显示方法、装置、终端及存储介质 | |
CN105404458A (zh) | 网页内容更新方法及装置 | |
US8977954B2 (en) | Method and system for providing HTML-based application capable of controlling web action and client | |
CN107800611A (zh) | 一种页面切换的方法及页面切换装置 | |
CN108287737B (zh) | Service Worker启动方法、装置及电子设备 | |
CN113268277A (zh) | 一种基于web的客户端访问方法及终端设备 | |
US20170078414A1 (en) | Behavior-based browser bookmarks | |
EP2998885A1 (en) | Method and device for information search | |
CN109840113B (zh) | 一种应用数据处理方法及其设备、存储介质、终端 | |
US10516750B2 (en) | Display control method, display control device, and recording medium | |
US20130332568A1 (en) | Method of data processing by a navigation module | |
KR102506155B1 (ko) | 전자장치, 어플리케이션 실행 시스템 및 그 제어방법 | |
CN104239333A (zh) | 进行浏览器网址导航的方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |