一种客户端与网页交互的方法和装置与流程

文档序号:12739533阅读:410来源:国知局
一种客户端与网页交互的方法和装置与流程

本发明涉及信息处理技术领域,具体而言涉及一种客户端与网页交互的方法和装置。



背景技术:

目前例如智能手机的智能终端上,用户经常需要通过网页来和客户端交互。比如点击链接,可以进入客户端的某个页面;利用提供的二维码,扫描打开网页后,可以拉起客户端进行相应操作等。

传统的网页和本地客户端应用之间的交互方式是客户端必须使用内部浏览器组件才能进行交互,这种传统交互方式的局限性是:客户端只能与内部浏览器组件打开的网页进行交互,如果使用用户安装的第三方浏览器打开网页,则交互无效,即客户端无法与用第三方浏览器打开的网页进行交互。

因此,很需要一种客户端与网页交互的新方法来改善网页和客户端之间传统交互方式的局限性。



技术实现要素:

本发明的目的在于提供一种客户端与网页交互的方法和装置,以改善上述问题。

本发明实施例提供了一种客户端与网页交互的方法,其包括:

客户端基于Socket协议在智能终端本地指定端口并自动建立Socket本地监听服务;

第三方浏览器根据请求打开中转网页,通过中转网页上的JavaScript脚本向本地指定端口发出建立连接请求,在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口;

Socket本地监听服务监听到所述JavaScript脚本发出的建立连接请求后与之建立通信连接,接收和解析其发送的所述包含1个或多个命令参数的消息,根据命令参数唤起相应的客户端进行预设的操作。

优选的,该中转网页上的JavaScript脚本发送的所述消息还可以包含:目标地址。

优选的,所述消息包含的命令参数和目标地址是附加在所述中转网页的网址上,通过中转网页上的JavaScript脚本对所述中转网页的网址进行解析而获得,并且所述目标地址对应的网页与所述中转网页相同或者不相同。

优选的,第三方浏览器根据请求打开中转网页时,该中转网页上不显示内容或者显示内容。

本发明实施例还提供了一种客户端与网页交互的装置,其包括:

第三方浏览器,用于根据请求打开中转网页,通过中转网页上的JavaScript脚本向本地指定端口发出建立连接请求,在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口;

客户端,用于基于Socket协议在智能终端本地指定端口并自动建立Socket本地监听服务,该Socket本地监听服务监听到所述JavaScript脚本发出的建立连接请求后与之建立通信连接,接收和解析其发送的所述包含1个或多个命令参数的消息,根据命令参数唤起相应的客户端进行预设的操作。

优选的,该中转网页上的JavaScript脚本发送的所述消息还可以包含:目标地址。

优选的,所述消息包含的命令参数和目标地址是附加在所述中转网页的网址上,通过中转网页上的JavaScript脚本对所述中转网页的网址进行解析而获得,并且所述目标地址对应的网页与所述中转网页相同或者不相同。

优选的,第三方浏览器根据请求打开中转网页时,该中转网页上不显示内容或者显示内容。

根据本发明的一种客户端与网页交互的方法和装置,通过建立Socket本地监听服务,实现了客户端与第三方浏览器打开的网页进行交互的目的,改善了网页和客户端之间传统交互方式的局限性。通过在中转网页上设置JavaScript脚本向本地指定端口发送消息来唤起客户端执行预设的操作,提高了客户端功能的分享和传播的社交性。通过采用私有的交互通信协议的方式,可以精准唤起指定客户端执行预设的操作,避免了具有相同功能的客户端之间同时做相同的操作或是因争抢资源发生冲突,为资源提供方选择合适的应用客户端提供了可行方案,而且提高了用户的体验感。

附图说明

图1是本发明实施例提供的客户端与网页交互的方法的流程图;

图2是本发明实施例提供的客户端与网页交互的装置的示意性框图。

具体实施方式

下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的客户端与网页交互的方法的流程图。如图1所示,本发明的客户端与网页交互的方法包括以下步骤:

S1:客户端基于Socket协议在智能终端本地指定端口并自动建立Socket本地监听服务。

所述智能终端为具有运算能力和操作系统的硬件设备,例如熟知的平板电脑、安卓系统或IOS系统的手机等,也可以是计算机硬件。建立Socket本地监听服务有多种方式,几乎每种编程语言都有基本API接口来建立Socket服务,例如Java语言使用ServerSocket类建立Socket本地监听服务、C类语言使用Socket关键字并调用bind接口建立Socket本地监听服务等,例如指定一个固定的端口,如8888端口,客户端在该8888端口建立起Socket本地监听服务,这是本领域技术人员熟知的常规技术,这里不做过多介绍建立Socket本地监听服务的具体实现方法。

建立Socket本地监听服务的时机可以采用灵活方式,可以在客户端启动时自动建立,也可以某个预定触发事件发生时自动建立。例如在安卓系统下,当启动某个客户端时,例如PP助手,可以使用Java语言中的ServerSocket(int port)创建一个Socket通信服务器,然后调用accept()监听请求的到来。

S2:第三方浏览器根据请求打开中转网页,通过中转网页上的JavaScript脚本向本地指定端口发出建立连接请求,在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口。

这里所述的第三方浏览器为用户在智能终端上安装的浏览器,例如市场常见的UC浏览器、QQ浏览器、360浏览器、百度浏览器等。第三方浏览器根据请求打开一个网页,例如即时通信客户端里发送的网页链接地址被用户点击,从而启动第三方浏览器打开链接地址对应的网页,或者用户使用智能终端扫描二维码后启动第三方浏览器打开二维码所提供的网页地址对应的网页。在本发明里,第三方浏览器打开请求的网页时,该网页页面需要有JavaScript执行脚本,通过JavaScript执行脚本应用JavaScript标准的网页端通信Api,例如Ajax或WebSocket等先与本地指定端口建立连接,在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口。具体的,第三方浏览器根据请求打开的网页为带有JavaScript脚本的中转网页,通过该JavaScript执行脚本向本地指定端口发出建立连接请求,并且在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口。该第三方浏览器根据请求打开中转网页时,该中转网页上不显示内容或者显示内容。所述中转网页上不显示内容时,即中转网页为空白页面,页面上没有可显示的内容,其目的是减少终端为了显示页面内容而执行例如访问、数据获取、页面渲染等操作,减少运行资源的消耗。在中转网页需要显示内容的应用场景中,显示内容的用途可以是多样的,例如可以向用户显示广告内容、也可以向用户显示合作商家的网站首页或者促销活动的页面等等。打开所述中转网页的目的是:通过在该网页上建立的知道通信协议的JavaScript脚本来解析出所需要的命令参数,将该命令参数发到本地指定端口。

所述命令参数可以是让客户端操作的任意命令,例如:命令本地客户端打开其内部设置的页面的命令;命令客户端播放终端设备上保存的音频或视频文件的命令等。

在一个优选实施例中,该中转网页上的JavaScript脚本发送的所述消息还可以包含:目标地址。包含目标地址的目的是让客户端对该目标命令进行操作,例如让音频客户端播放目标地址上的音频文件等。后面将会讲到客户端将根据命令参数对目标地址执行预设的操作。

所述消息包含的命令参数和目标地址是附加在所述中转网页的网址上,通过中转网页上的JavaScript脚本对所述中转网页的网址进行解析而获得,并且所述目标地址对应的网页与所述中转网页相同或者不相同。具体的,所述1个或多个命令参数可以在中转网页地址的尾部。当还有目标地址时,目标地址跟随最后一个命令参数的后面,例如:http://www.abc.com?type=0&url=http://www.efg.com。当然,这种格式仅仅是出于举例说明的目的,还可以使用通信协议里协商的任何其他格式。所述中转网页上的JavaScript脚本利用通信协议解析出中转网页地址上附带的1个或多个命令参数和目标地址。由于请求打开的网页为中转网页,可以为空白页,也可以显示特定目的的内容,所以大多数情况下所述目标地址对应的网页与打开的中转网页不相同,但在某些应用场景中也可以相同。例如,淘宝网的某家店方希望用户参加它的促销活动,可以通过扫描二维码参加活动的方式,将促销活动页面地址作为中转网页地址,而附带的目标地址也为相同的促销活动页面地址,命令参数为打开网页。当用户使用智能终端(如智能手机)扫描所述二维码时启动终端上安装的第三方浏览器打开并显示该促销活动页面,并且在后面将要讲述的步骤中将唤起淘宝客户端打开目标地址,也就是在淘宝客户端显示该促销活动页面。

所述中转网页可以由需求方设置,如所举例子中的淘宝网的某家店方,也可以由服务提供方设置,如本发明的申请人。所需要的是:要在该中转网页上建立有JavaScript脚本,该JavaScript脚本需要知道通信协议,这样才能从所述中转网页的网址中解析出命令参数以及基于目的可能还会有的目标地址,并将命令参数和目标地址发送到本地指定端口。

S3:Socket本地监听服务监听到所述JavaScript脚本发出的建立连接请求后与之建立通信连接,接收和解析其发送的所述包含1个或多个命令参数的消息,根据命令参数唤起相应的客户端进行预设的操作。

Socket本地监听服务监听到所述中转网页上的JavaScript脚本向本地指定端口发出的建立连接请求后,与之建立通信连接,接收该JavaScript脚本发送的消息内容,根据通信协议解析该消息内容,由此得到命令参数,根据命令参数唤起相应的客户端进行预设的操作。例如,命令参数是使用音频播放器播放本地音乐,则唤起智能终端上安装的音频播放器客户端去播放该终端上保存的音频文件,例如可以指示音频播放器按其记录的播放列表进行播放,或者可以指示音频播放器扫描终端上保存的音频文件然后播放等。

在一个优选实施例中,接收的消息中还包含目标地址,则根据命令参数唤起相应的客户端对该目标地址进行预设的操作。例如,命令参数指定客户端下载APP,目标地址就是所述APP的下载链接地址,则根据命令参数唤起指定客户端(例如PP助手)访问目标地址,执行下载相应的APP。例如,设Socket本地监听服务接收的来自中转网页上的所述JavaScript脚本发送的消息为:type=0&action=0&url=“abc.com/aa.apk”,在命令参数type=0表示打开目标网址的网页、action=0表示执行下载操作时,则指定客户端访问网址abc.com/aa.apk和下载abc.com/aa.apk的内容。

根据本发明的上述方法,通过建立Socket本地监听服务,实现了客户端与第三方浏览器打开的网页进行交互的目的,改善了网页和客户端之间传统交互方式的局限性。通过在中转网页上设置JavaScript脚本向本地指定端口发送消息来唤起客户端执行预设的操作,提高了客户端功能的分享和传播的社交性。

在一个优选实施例中,所述1个或多个命令参数是通过预先建立的私有的交互通信协议来确定其格式和含义。另外,附带有1个或多个命令参数和目标地址的中转网页地址的格式是通过预先建立的私有的交互通信协议来确定。例如,服务提供方提供含有本发明的方法或装置的服务产品时会预先建立私有的交互通信协议来确定命令参数的格式和含义、以及中转网页地址中所包含内容的格式。这样,需求方可以根据服务提供方提供的私有的交互通信协议,在所提供的中转网页地址(链接地址)尾部加入1个或多个命令参数,另外还可以在最后一个命令参数后面添加目标地址。通过私有的交互通信协议,JavaScript脚本可以从中转网页地址中正确解析出命令参数和目标地址,Socket本地监听服务也能够正确解析出JavaScript脚本发来的命令参数和目标地址,以便唤起客户端根据命令对目标地址执行预设的操作。

在一个例子中,在用户点击链接地址时,通过步骤S2由第三方浏览器先打开该链接地址对应的中转网页,通过中转网页上的JavaScript脚本与本地指定端口建立通信连接,然后JavaScript脚本将解析出来的1个或多个命令参数和根据需要可能还会有的目标地址发送到本地指定端口;在步骤S3中由Socket本地监听服务根据私有的交互通信协议将收到的消息进行解析,唤起相应的客户端根据命令参数进行对应的操作,或者对目标地址执行预设的操作。这里的命令参数格式和含义是通过私有的交互通信协议来确定的,这样避免了具有相同功能的客户端之间同时做相同的操作或是因争抢资源发生冲突。例如,命令参数为下载APP,目标地址为APP下载地址,用户使用的智能移动终端(如手机)上同时安装了PP助手客户端、QQ应用宝客户端和360手机助手客户端,如果JavaScript脚本发送的消息所包含的命令参数和目标地址不是遵循私有的交互通信协议,而是遵循公知的通用通信协议,会造成这3个客户端同时读取APP下载地址并执行下载APP的行为,这将带来不必要的流量浪费、存储空间的占用、以及运行资源的消耗。通过私有的交互通信协议,APP下载地址的提供方能够指定某一客户端执行下载任务,例如APP下载地址的提供方认为PP助手的使用量最大,指定使用PP助手下载,这样用户点击了包含该APP下载地址和命令参数(下载命令和指定命令)的链接地址后,根据本发明提供的方法就会唤起PP助手执行下载相应的APP。再如,用户点击的链接地址包含了音频播放命令和音频播放地址,该用户使用的智能移动终端(如手机)上同时安装了2种以上的音频播放器客户端,如终端自带的音频播放器、用户安装的酷我音乐客户端和酷狗音乐客户端,当不使用私有的交互通信协议时,发送到本地指定端口的音频播放地址和播放命令参数会被Socket本地监听服务发送给这三个音频播放器客户端,造成三个音频播放器客户端都要播放音频,又因为抢夺资源而不会同步播放,用户会听到三个声音在播放,只能手动关闭其中2个音频播放器,这样的体验感不佳;严重时,因争抢资源发生冲突,还会造成终端死机现象。而采用私有的交互通信协议来确定命令参数,可以由需求方,例如链接地址的提供方指定期望的音频客户端来执行音频播放。这对于音频或视频广告商的合作与投放大有益处。

另外,根据私有的交互通信协议还可以根据需要任意设置1个或多个命令参数,例如采用type或者type&action的方式,其中type表示执行的操作;或者,type表示打开网页,action表示打开网页后执行的操作。例如,通过私有的交互通信协议,设定type=0表示打开目标网址的网页等,action=0表示执行下载操作、action=1表示执行支付操作、action=2表示执行播放音频操作、action=3表示执行播放视频操作、action=4表示执行图片浏览操作等,这里仅仅是列举而非穷举,任何通过客户端可执行的操作都可以在私有的交互通信协议中设置相应的命令参数;同样的,也可以对type参数设置不同值来实现不同功能。这里通过举例来说明命令参数的格式和含义,但是本领域技术人员都知道,还可以采用其它表达方式的命令参数,只要在私有的交互通信协议中对命令参数的内容作了统一定义即可。

下面通过一个具体实例来进行说明。

预先建立私有的交互通信协议,确定命令参数的格式和含义、以及链接地址的格式等,可以由服务提供方预先设置该通信协议。当用户操作智能移动终端,如智能手机时,客户端基于Socket协议在智能移动终端本地指定端口(例如8888)并自动建立Socket本地监听服务。第三方浏览器打开用户通过点击链接地址或扫描二维码等方式而请求的中转网页时,该中转网页上的JavaScript执行脚本例如使用WebSocket技术,新建一个WebSocket对象,通过WebSocket对象建立与本地指定端口8888的连接,假设智能手机的本地端IP地址是固定的127.0.0.1,则向本地指定端口127.0.0.1:8888发送建立连接请求,使用onOpen接口来监听通信连接成功。监听到连接成功后,通过WebSocket对象的send()接口,将预定的消息发送到本地指定端口8888,该消息包含了该JavaScript脚本解析的命令参数(例如type=0&action=1)和根据需要可能还会有的目标地址。Socket本地监听服务监听到中转网页上的JavaScript脚本发出的建立连接请求后与之建立通信连,接收该JavaScript脚本发送的预定的消息,根据预先建立私有的交互通信协议解析该消息内容,得到命令参数和根据需要可能还会有的目标地址,根据命令参数唤起相应的客户端进行预设的操作,或者对目标地址进行预设的操作。例如,淘宝网的某家店方发起促销活动,在公共平台上发出促销广告及其链接地址或者含有该链接地址的二维码,该链接地址的格式符合预先建立的私有的交互通信协议。感兴趣的用户用智能手机点击链接地址或者扫描二维码,启动手机里安装的第三方浏览器打开链接地址对应的网页(即中转网页),该中转网页可以由服务提供方设置,也可以由需求方(淘宝网上发起促销活动的店方)设置,并且可以是空白网页,也可以是店方发布的促销活动的网页或其它,但该中转网页上需要有JavaScript脚本,通过该JavaScript脚本先请求与本地指定端口8888建立连接,然后发送包含1个或多个命令参数和目标地址(例如显示促销活动的网页地址)的消息到本地指定端口8888,由Socket本地监听服务接收和解析该消息,进而唤起淘宝客户端,该淘宝客户端根据目标地址打开相应的促销活动网页。假设促销活动就是销售一款特价商品,如冰箱,则命令参数可以设定2个:1是打开目标地址的网页,2是进入支付网页,这样淘宝客户端就能够先打开显示促销活动的网页,然后自动进入到支付页面,这样完成了预设的操作。

根据本发明提供的客户端与网页交互的方法,通过建立Socket本地监听服务,实现了客户端与第三方浏览器打开的网页进行交互的目的,改善了网页和客户端之间传统交互方式的局限性。通过在中转网页上设置JavaScript脚本向本地指定端口发送消息来唤起客户端执行预设的操作,提高了客户端功能的分享和传播的社交性。通过采用私有的交互通信协议的方式,可以精准唤起指定客户端执行预设的操作,避免了具有相同功能的客户端之间同时做相同的操作或是因争抢资源发生冲突,为资源提供方选择合适的应用客户端提供了可行方案,而且提高了用户的体验感。

图2是本发明实施例提供的客户端与网页交互的装置的示意性框图。如图2所示,本发明的客户端与网页交互的装置包括:

第三方浏览器,用于根据请求打开中转网页,通过中转网页上的JavaScript脚本向本地指定端口发出建立连接请求,在连接建立后发送包含1个或多个命令参数的消息到该本地指定端口;

客户端,用于基于Socket协议在智能终端本地指定端口并自动建立Socket本地监听服务,该Socket本地监听服务监听到所述JavaScript脚本发出的建立连接请求后与之建立通信连接,接收和解析其发送的所述包含1个或多个命令参数的消息,根据命令参数唤起相应的客户端进行预设的操作。

其中该中转网页上的JavaScript脚本发送的所述消息还可以包含:目标地址。

例如,假设所述消息为:type=1&action=0&url=“abc.com/aa.apk”,在命令参数type=1表示访问目标网址的网页、action=0表示执行下载操作时,则指定客户端访问网址abc.com/aa.apk和下载abc.com/aa.apk的内容。

其中所述消息包含的命令参数和目标地址是附加在所述中转网页的网址上,通过中转网页上的JavaScript脚本对所述中转网页的网址进行解析而获得,并且所述目标地址对应的网页与所述中转网页相同或者不相同。

其中第三方浏览器根据请求打开中转网页时,该中转网页上不显示内容或者显示内容。

在一个优选实施例中,所述1个或多个命令参数是通过预先建立的私有的交互通信协议来确定其格式和含义。所述命令参数作用和使用方法与上述方法实施例中详细描述的内容相同。

在一个优选实施例中,附带有1个或多个命令参数和目标地址的中转网页地址的格式是通过预先建立的私有的交互通信协议来确定。

在一个优选实施例中,中转网页上的JavaScript脚本知道通信协议或者预先建立的私有的交互通信协议。

在一个优选实施例中,私有的交互通信协议是由服务提供方预先建立的,由此确定命令参数的格式和含义、以及中转网页地址中所包含内容的格式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,前述方法实施例中列举的例子和相关描述,同样适用于解释装置的工作过程,在此不再重复描述。

根据本发明提供的客户端与网页交互的装置,通过建立Socket本地监听服务,实现了客户端与第三方浏览器打开的网页进行交互的目的,改善了网页和客户端之间传统交互方式的局限性。通过在中转网页上设置JavaScript脚本向本地指定端口发送消息来唤起客户端执行预设的操作,提高了客户端功能的分享和传播的社交性。通过采用私有的交互通信协议的方式,可以精准唤起指定客户端执行预设的操作,避免了具有相同功能的客户端之间同时做相同的操作或是因争抢资源发生冲突,为资源提供方选择合适的应用客户端提供了可行方案,而且提高了用户的体验感。

本发明实施例所提供的客户端与网页交互的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1