浏览器信息分享的方法、浏览器客户端和装置的制造方法_2

文档序号:8223541阅读:来源:国知局
览器访问网页的过程中,对于网页中的下载链接,可以在浏览器中给用户提供分享按钮,根据用户对所述分享按钮的点击,触发向二终端分享下载的指令。
[0067]优选地,所述针对第一终端的浏览器中的下载链接,接收用户触发的向第二终端分享下载的指令包括:
[0068]子步骤112,判断第一终端的浏览器的当前网页中是否触发针对所述下载链接的下载操作,如果触发下载操作,则提示客户端是否分享下载至第二终端;
[0069]子步骤114,如果用户选择分享下载至第二终端,则接收到户触发的向第二终端分享下载的指令。
[0070]当然,在本发明实施例中可以对当前网页的HTML文档内容进行分析,判断所述网页中是否存在下载链接;对于网页中的下载链接,侦听鼠标位置,当所述鼠标移动至下载链接的展示区域之上时,则可生成分享按钮,提示用户可将所述下载链接的文件分享至第二终端。
[0071]当然,在上述过程中,可以通过js脚本,判断所述HTML文档对应的DOM(DocumentObject Model,文件对象模型)树中的是否存在包括下载链接的节点,如果存在包括下载链接的DOM节点,贝Ij从对应的CSS (Cascading Style Sheets,级联样式表)文件,计算所述下载链接所在DOM节点的在网页中显示区域,然后通过计算鼠标在网页的坐标,判断所述鼠标的坐标是否在所述DOM节点的显示区域之内;如果在显示区域之内,即可在该DOM树节点位置生成弹出框,在弹出框中提供分享按钮,当用户点击该分享按钮后,则确定接收到户触发的向第二终端分享下载的指令,即可进入步骤120。
[0072]其中,鼠标在网页中的坐标可以通过如下方式获取:
[0073]tempX = event.clientX+document.body.scrollLeft ;
[0074]tempy = event.clientY+document.body.scrollTop ;
[0075]其中,tempx为鼠标在整个网页中的纵坐标,event.clientX为获取鼠标相对浏览器显示视窗左边的距离的函数,document, body.scrollLeft为获取网页在向右侧滑动时左侧隐藏的页面长度的函数;tempy为鼠标在整个网页中的纵坐标,event.clientY为获取鼠标相对浏览器显示视窗顶部的距离的函数,document, body.scrollTop为获取网页在向下滑动时上侧隐藏的页面长度的函数。
[0076]当然,也可以通过其他方式接收用户触发的向第二终端分享下载的指令。比如,当用户在网页中对链接点击下载之后,浏览器会根据所述URL向服务器发送HTTP请求,服务器会针对所述HTTP请求根据自身的数据类型返回的HTTP响应,那么本发明可以通过所述HTTP响应判断对应的链接是否为下载链接。该响应的格式示例大致为:
[0077]HTTP/1.02000K
[0078]Date: Mon, 31Dec201304:25:57GMT
[0079]Server: Apache/1.3.14(Unix)
[0080]Content-type:text/html
[0081]Last-modified:Tue, 17Apr201206:46:28GMT
[0082]Content-1ength:39725426
[0083]Content-range:bytes554554_40279979/40279980
[0084]其中,第一行是协议名称HTTP及版本号1.0,空格后面会有一个三位数的数字,是HTTP协议的响应状态码,200表示成功,OK是对状态码的简短文字描述。状态码共有5类:Ixx属于通知类;2xx属于成功类;3xx属于重定向类;4xx属于客户端错误类;5xx属于服务端错误类。Content-Length标识数据长度。第二行Date表示当前的GMT时间。第三行Server表示服务器名字。第四行Content-type表示客户端请求数据的文件类型。第五行表示Last-modified服务器数据的最后修改时间。第六行Content-1ength表示内容长度。第七行Content-range表示数据范围。
[0085]本发明实施例中,Content-type字段指示浏览器对于当前对应的数据可以由浏览器的内核将对应的数据渲染成网页进行展示,或者不能由浏览器的内核将对应的数据渲染成网页进行展示而需要调用下载组件进行下载。即可以根据Content-type字段的值判断浏览器发送的对应的网络请求是否为下载请求,比如文档类型为text/html表示html文档,可以由浏览器内核的渲染引擎渲染成网页的形式展示、文档类型为image/jpeg未图片也可以由浏览器内核的渲染引擎渲染成网页的形式展示。而文档类型为applicat1n/octet-stream表示为二进制流,无法由浏览器内核植染在网页中展示等等,需要进行下载。
[0086]因此,当判断所述服务器针对浏览器内核发送的HTTP请求所反馈的响应中的文件类型字段的值,当所述文件类型字段的值为浏览器内核不能解析为在页面中展示的类型时,则判断用户点击的所述链接为下载链接,并且触发了下载操作。那么此时可以拦截浏览器内核的下载组件的启动,先提示客户端是否分享下载至第二终端;如果用户选择不分享,则启动浏览器内核的下载组件进行下载过程。如果用户选择分享,则取消浏览器内核的下载组件的下载过程,将所述链接转入传输至第一终端中的下载组件中,即进入步骤120。
[0087]又比如,当用户在网页中对链接点击下载之后,浏览器会根据所述URL向服务器发送HTTP请求,本发明也可直接根据浏览器发送的HTTP请求的头部中文件类型字段的值判断其是否为下载请求,即可以判断对应的链接是否为下载链接,比如浏览器发送post请求,post请求格式示例大致为:
[0088]P0ST/HTTP/1.1
[0089]Host: www.wrox.com
[0090] User-Agent:Mozilla/5.0 (Windows ;U ;ffindows NT 5.1 ;en-US ;rv: 1.7.6)
Gecko/20050225Firefox/l.0.1
[0091 ] Content-Type: applicat1n/octet-stream
[0092]Content-Length:39725426
[0093]Connect1n:Keep-Alive
[0094]其中,第一行是请求类型psot、协议名称/HTTP及版本号1.1,空格后面会有一个三位数的数字,是HTTP协议的响应状态码,200表示成功,OK是对状态码的简短文字描述。状态码共有5类:lxx属于通知类;2xx属于成功类;3xx属于重定向类;4xx属于客户端错误类;5xx属于服务端错误类。Content-Length标识数据长度。第二行Host表示主机域名。第三-四行User-Agent表示客户端信息。第四行Content-type表示客户端请求数据的文件类型。第五行Content-type表示客户端请求数据的文件类型。第六行Connect1n表示连接类型。
[0095]本发明实施例也可根据Content-type的值判断内核发送的HTTP请求是否为下载请求,即当所述Content-type字段的值为浏览器内核不能解析为在页面中展示的类型时,则判断所述HTTP请求为下载请求,从而可以确定用户点击的链接为下载链接,并且触发了下载操作。那么此时可以拦截浏览器内核的下载组件的启动,先提示客户端是否分享下载至第二终端;如果用户选择不分享,则启动浏览器内核的下载组件进行下载过程。如果用户选择分享,则取消浏览器内核的下载组件的下载过程,将所述链接转入传输至第一终端中的下载组件中,即进入步骤120。
[0096]步骤120,将所述下载链接传输至第一终端中的下载组件中,通过所述下载组件根据所述下载链接进行下载;所述下载组件与第二终端有通信连接;
[0097]在本发明实施例中,所述第一终端(比如PC)的下载组件可以与第二终端(比如手机或者平板电脑等)进行通信连接,比如通过WiF1、数据线、internet网络等与第二终端进行通信连接。所述下载组件可以作为浏览器的扩展/插件与浏览器进行绑定。所述下载组件也可以是独立于浏览器的下载组件,比如手机助手的下载组件。
[0098]本发明优选地,所述下载组件也可以是独立于浏览器的下载组件。如此可以降低浏览器本身的规模,使浏览器相对轻量化。那么该种情况下,浏览器可以通过浏览器对外接口调用所述独立于浏览器的下载组件,并将所述下载链接发送至所述下载组件中进行下载过程。比如IE浏览器,在点击分享按钮之后,可以通过BH0(Browser Helper Object,浏览器辅助对象)接口,调用所述独立于浏览器的下载组件。对于chrome浏览器可以通过在其自定义协议接口添加调用所述独立于浏览器的下载组件的协议,那么在点击前述分享按钮后可以直接根据所述协议调用所述独立于浏览器的下载组件。
[0099]步骤130,所述下载组件将下载的文件直接传输给第二终端。
[0100]所述下载组件可以根据所述链接向服务器发送网络请求,请求下载相应的文件,然后即可直接将下载的文件发送至第二终端。
[0101]当然,本发明实施例中,第二终端可以预先与第一终端通过所述下载组件通信链接。
[0102]优选地,在接收用户触发的向第二终端分享下载的
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1