发明内容
本发明实施例所要解决的技术问题在于,提供一种在MAC平台浏览器中实现视频下载的方法及浏览器,可在网页上显示下载浮动按钮,并在用户点击时,将视频真实地址发送给视频下载程序进行视频下载。
为了解决上述技术问题,本发明实施例提供了一种在MAC平台浏览器中实现视频下载的方法,包括:
MAC平台浏览器根据当前网页中的内容层次,添加预设的下载浮动按钮;
嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述下载浮动按钮相关联;
当检测到对所述下载浮动按钮的点击操作时,将与所述下载浮动按钮相关联的真实地址发送给视频下载程序,启动所述视频下载程序对所述视频进行下载。
其中,在所述MAC平台浏览器根据当前网页中的内容层次,添加预设的下载浮动按钮的步骤之前,还包括:
设置简易插件装载SIMBL技术,以采用该简易插件装载SIMBL技术添加下载浮动按钮和嗅探的功能。
其中,所述MAC平台浏览器根据当前网页中的内容层次,添加预设的下载浮动按钮的步骤具体包括:
识别当前网页的视频播放区域的位置;
分析当前网页的内容层次;
根据分析得出的当前网页的内容层次,在MAC平台浏览器的WebClipView层中添加预设的下载浮动按钮,并将该下载浮动按钮显示在识别出的所述视频播放区域中。
其中,所述嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述下载浮动按钮相关联的步骤具体包括:
检测当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性;
若检测为是时,进一步判断视频的大小属性是否大于预设的阈值;
若大于预设的阈值,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址。
其中,还包括:当检测到对所述下载浮动按钮的点击操作后,识别网页刷新,处理下载浮动按钮的显示逻辑。
相应地,本发明实施例还提供了一种MAC平台浏览器,包括:
添加模块,用于根据当前网页中的内容层次,添加预设的下载浮动按钮;
地址获取模块,用于嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述添加模块添加的下载浮动按钮相关联;
下载启动模块,用于当检测到对所述下载浮动按钮的点击操作时,将所述地址获取模块获取的真实地址发送给视频下载程序,启动所述视频下载程序对所述视频进行下载。
其中,还包括:接口模块,用于设置简易插件装载SIMBL技术,以使所述添加模块和地址获取模块采用该简易插件装载SIMBL技术进行相应的添加下载浮动按钮和嗅探的功能。
其中,所述添加模块具体包括:
识别单元,用于识别当前网页的视频播放区域的位置;
分析单元,用于分析当前网页的内容层次;
下载浮动按钮添加单元,用于根据所述分析单元分析得出的当前网页的内容层次,在MAC平台浏览器的WebClipView层中添加预设的下载浮动按钮,并将该下载浮动按钮显示在所述识别单元识别出的视频播放区域中。
其中,所述地址获取模块具体包括:
第一判断单元,用于检测判断当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性;
第二判断单元,在所述第一判断单元检测判断的结果为是时,进一步判断视频的大小属性是否大于预设的阈值;
识别确定单元,在所述第二判断单元的判断结果为大于预设的阈值时,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址。
其中,还包括:刷新显示处理模块,用于当检测到对所述下载浮动按钮的点击操作后,识别网页刷新,处理下载浮动按钮的显示逻辑。
实施本发明实施例,具有如下有益效果:
在MAC平台的浏览器中设置了下载浮动按钮,并能够嗅探识别出视频播放区域中的视频的真实地址与所述下载浮动按钮相关联,用户在使用MAC平台的浏览器时,只需直接点击一个下载浮动按钮即可对当前视频播放区域中播放的视频进行下载,简单方便,提高了用户的使用体验。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明是在MAC平台的浏览器如原生的Cocoa类浏览器(如safari等)中实现视频下载。通过设置并在网页上显示下载浮动按钮,并将视频的真实地址与该下载浮动按钮相关联,当用户点击网页上的所述下载浮动按钮时,浏览器将真实地址发送给视频下载程序并启动视频下载程序进行视频下载。
请参见图1,是本发明MAC平台浏览器的结构组成示意图,该MAC平台浏览器包括:添加模块1,地址获取模块2以及下载启动模块3。
所述添加模块1,用于根据当前网页中的内容层次,添加预设的下载浮动按钮。具体的,所述添加模块1添加的下载浮动按钮的大小、颜色、形状以及在网页中的位置或者网页的视频播放区域中的位置可以由用户根据喜好进行设置。该下载浮动按钮可以提示用户本网页的视频播放区域中的视频可以下载。
所述地址获取模块2,用于嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述添加模块1添加的下载浮动按钮相关联。
所述地址获取模块2嗅探识别当前网页的视频播放区域中的视频的真实地址的过程具体可包括:
检测当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性;若检测为是时,进一步判断视频的大小属性是否大于预设的阈值;若大于预设的阈值,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址。
与所述添加模块1添加的下载浮动按钮相关联是为了在用户点击下载浮动按钮时,浏览器能够将与该下载浮动按钮对应的真实地址发送给视频下载程序,以便视频下载程序能够链接到网络侧视频服务器中下载视频。
具体的,对于上述的添加模块1和地址获取模块2的实现,可以将MAC平台浏览器中相应的方法实例进行替换修改,以实现浮动按钮的添加和识别视频的真实地址。具体以MAC平台原生的Cocoa类浏览器为例,可将Cocoa类浏览器中的鼠标移动到网页元素mouseDidMoveOverElement方法实例修改替换成可实现识别当前网页的视频播放区域的位置和分析当前网页的内容层次的方法实例,以实现所述添加模块1;可将所述MAC平台浏览器中的资源请求响应didReceiveResponse方法实例修改替换成可实现嗅探识别当前网页的视频播放区域中的视频的真实地址的方法实例,以实现所述地址获取模块2。当然,也可以修改MAC平台浏览器中的其他类似方法实例以实现上述的添加模块1和地址获取模块2。
所述下载启动模块3,用于当检测到对所述下载浮动按钮的点击操作时,将所述地址获取模块获取的真实地址发送给视频下载程序,启动所述视频下载程序对所述视频进行下载。
在用户需要下载当前网页中视频播放区中的视频时,就可以直接点击视频显示区域中的下载浮动按钮,所述下载启动模块3便将与该下载浮动按钮相关联的真实地址发送给视频下载程序,启动视频下载程序进行到该真实地址所对应的网络侧中下载视频。
另外,若当前网页中包括多个视频播放区域播放视频时,所述添加模块1可分别对每一个视频播放区域设置一个下载浮动按钮,所述地址获取模块2则依次获取每一个的视频播放区域中的视频的真实地址与该视频播放区域的下载浮动按钮相关联,在用户点击一个下载浮动按钮时,所述下载启动模块3则将该下载浮动按钮的地址发送给视频下载程序并启动所述视频下载程序进行视频下载。
进一步的,再请参见图1,所述MAC平台浏览器还可包括:接口模块4。
所述接口模块4,用于设置简易插件装载SIMBL技术,以使所述添加模块和地址获取模块采用该简易插件装载SIMBL技术进行相应的添加下载浮动按钮和嗅探的功能。
上述的添加模块1和地址获取模块2可在设计MAC平台浏览器时即设置在如原生的Cocoa类浏览器(如safari等)中。对于现有的Cocoa类浏览器,则可通过所述MAC平台浏览器的接口模块4设置SIMBL(SIMple Bundle Loader,简易插件装置)技术,具体的,用户或者程序员可将所述SIMBL技术通过所述接口模块4注入到MAC平台浏览器中,然后再由所述接口模块4对注入的SIMBL技术进行设置,注入并设置了SIMBL后,便可以直接向MAC平台浏览器中装载*.bundle等格式的可执行文件,以实现所述添加模块1和地址获取模块2。
进一步的,再请参见图1,所述MAC平台浏览器还可包括:刷新显示处理模块5。
所述刷新显示处理模块5,用于当检测到对所述下载浮动按钮的点击操作后,识别网页刷新,处理下载浮动按钮的显示逻辑。
所述刷新显示处理模块5可重置下载浮动按钮的状态,在该下载浮动按钮所对应的视频在下载前和下载后,该下载浮动按钮的状态是不同的,当用户点击了下载浮动按钮后,浏览器对当前网页有刷新操作,所述刷新显示处理模块5则相应的对下载浮动按钮的显示逻辑进行处理,以区别未请求下载和已请求下载的显示状态,如显示不同颜色、形状等。
进一步的,再请参见图1,所述MAC平台浏览器的所述添加模块1具体包括:识别单元11,分析单元12以及下载浮动按钮添加单元13。
所述识别单元11,用于识别当前网页的视频播放区域的位置。
所述分析单元12,用于分析当前网页的内容层次。
所述下载浮动按钮添加单元13,用于根据所述分析单元分析得出的当前网页的内容层次,在MAC平台浏览器的WebClipView层中添加预设的下载浮动按钮,并将该下载浮动按钮显示在所述识别单元识别出的视频播放区域中。
所述MAC平台浏览器的所述地址获取模块2具体包括:第一判断单元21,第二判断单元22以及识别确定单元23。
所述第一判断单元21,用于检测判断当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性。
所述第二判断单元22,在所述第一判断单元21检测判断的结果为是时,进一步判断视频的大小属性是否大于预设的阈值。
所述识别确定单元23,在所述第二判断单元22的判断结果为大于预设的阈值时,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址。
通过上述实施例的描述可知,本发明具有以下优点:
在MAC平台的浏览器中设置了下载浮动按钮,并能够嗅探识别出视频播放区域中的视频的真实地址与所述下载浮动按钮相关联,用户在使用MAC平台的浏览器时,只需直接点击一个下载浮动按钮即可对当前视频播放区域中播放的视频进行下载,简单方便,提高了用户的使用体验。
下面对本发明的在MAC平台浏览器中实现视频下载的方法进行说明。
请参见图2,是本发明的在MAC平台浏览器中实现视频下载的方法的第一实施例流程示意图,本实施例的所述在MAC平台浏览器中实现视频下载的方法具体包括:
S201:MAC平台浏览器根据当前网页中的内容层次,添加预设的下载浮动按钮。
具体的,所述S201添加的下载浮动按钮的大小、颜色、形状以及在网页中的位置或者网页的视频播放区域中的位置可以由用户根据喜好进行设置。该下载浮动按钮可以提示用户本网页的视频播放区域中的视频可以下载。
S202:嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述下载浮动按钮相关联。
所述S202的步骤具体可包括:
检测当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性;若检测为是时,进一步判断视频的大小属性是否大于预设的阈值;若大于预设的阈值,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址;若不能够匹配得到相应的特征码,则将不能识别视频真实地址,结束操作。其中,视频的链接地址是指视频观看的网页地址,而视频真实地址指视频存在网站服务器的地址,通过视频的真实地址才能访问视频文件本身,才能在服务器中下载对应的视频。
与所述S201添加的下载浮动按钮相关联是为了在用户点击下载浮动按钮时,浏览器能够将与该下载浮动按钮对应的真实地址发送给视频下载程序,以便视频下载程序能够链接到网络侧视频服务器中下载视频。
对于上述的S201和S202的实现,可以将MAC平台浏览器中相应的方法实例进行替换修改,以实现浮动按钮的添加和识别视频的真实地址。具体以MAC平台原生的Cocoa类浏览器中的safari浏览器为例,可将Cocoa类浏览器中的mouseDidMoveOverElement方法实例修改替换成可实现识别当前网页的视频播放区域的位置和分析当前网页的内容层次的方法实例,以实现所述S201;可将MAC平台浏览器中的didReceiveResponse方法实例修改替换成可实现嗅探识别当前网页的视频播放区域中的视频的真实地址的方法实例,以实现所述S202。当然,也可以修改MAC平台浏览器中的其他类似方法实例以实现上述的S201和S202。
上述的S201和S202可在设计MAC平台浏览器时即设置在如原生的Cocoa类浏览器(如safari等)中。对于现有的Cocoa类浏览器,则可通过所述MAC平台浏览器的接口设置SIMBL(SIMple Bundle Loader,简易插件装置)技术,具体的,用户或者程序员可将所述SIMBL技术注入到MAC平台浏览器中,注入并设置了SIMBL后,便可以直接向MAC平台浏览器中装载*.bundle等格式的可执行文件,以实现所述S201和S202。
S203:当检测到对所述下载浮动按钮的点击操作时,将与所述下载浮动按钮相关联的真实地址发送给视频下载程序,启动所述视频下载程序对所述视频进行下载。
具体的,在用户需要下载当前网页中视频播放区中的视频时,就可以直接点击视频显示区域中的下载浮动按钮,所述S203便将与该下载浮动按钮相关联的真实地址发送给视频下载程序,启动视频下载程序进行到该真实地址所对应的网络侧中下载视频。该视频下载程序可以是其他第三方的下载软件。
另外,若当前网页中包括多个视频播放区域播放视频时,所述S201可分别对每一个视频播放区域设置一个下载浮动按钮,所述S202则依次获取每一个的视频播放区域中的视频的真实地址与该视频播放区域的下载浮动按钮相关联,在用户点击一个下载浮动按钮时,所述S203则将该下载浮动按钮的地址发送给视频下载程序并启动所述视频下载程序进行视频下载。
实施本发明实施例,具有以下有益效果:
在MAC平台的浏览器中设置了下载浮动按钮,并能够嗅探识别出视频播放区域中的视频的真实地址与所述下载浮动按钮相关联,用户在使用MAC平台的浏览器时,只需直接点击一个下载浮动按钮即可对当前视频播放区域中播放的视频进行下载,简单方便,提高了用户的使用体验。
再请参见图3,是本发明的在MAC平台浏览器中实现视频下载的方法的第二实施例流程示意图。本实施例以MAC平台下原生的Cocoa类浏览器safari为例,该方法包括:
S301:设置简易插件装载SIMBL技术,以采用该简易插件装载SIMBL技术添加下载浮动按钮和嗅探的功能。
S302:MAC平台浏览器根据当前网页中的内容层次,添加预设的下载浮动按钮。
具体的,S302具体包括:识别当前网页的视频播放区域的位置;分析当前网页的内容层次;根据分析得出的当前网页的内容层次,在MAC平台浏览器的WebClipView层中添加预设的下载浮动按钮,并将该下载浮动按钮显示在识别出的所述视频播放区域中。其中,识别当前网页的视频播放区域的位置,以使下载浮动按钮能够显示在视频播放区域中提示用户该视频可以下载,而非其他不相关的位置区域;分析当前网页的内容层次,以使下载浮动按钮能够一直显示在网页的最前端,避免下载浮动按钮被当前网页的上其他层的内容覆盖掉。
在分析得出当前网页的内容层次后,优选地可选择WebClipView层添加预设的下载浮动按钮。其好处在于,下载浮动按钮不会被其他网页内容覆盖,所述下载浮动按钮在网页中的相对位置固定,在页面滚动,窗口移动,或者窗口大小改变时均无需重新修正坐标。
另外,由于在线视频通常有Cookies控制访问权限,视频的真实地址需要配合有效的Cookies才能够下载,这个步骤是视频下载程序在获取到浏览器发送的视频的真实地址后,有视频下载程序执行,其为现有技术,在此不赘述。
MAC平台的safari浏览器要实现识别当前网页的视频播放区域的位置,分析当前网页的内容层次的功能,可通过以下方式实现:
动态查找MAC平台的safari浏览器中的mouseDidMoveOverElement方法实例;将mouseDidMoveOverElement方法实例替换为可实现识别当前网页的视频播放区域的位置和分析当前网页的内容层次的方法实例。
S303:嗅探识别当前网页的视频播放区域中的视频的真实地址,并将该真实地址与所述下载浮动按钮相关联。
具体的,检测当前网页的视频播放区中的视频的链接地址中的MIME Type是否属于视频属性;若检测为是时,进一步判断视频的大小属性是否大于预设的阈值;若大于预设的阈值,将该视频的链接地址的特征码与本浏览器中数据库存储的特征码数据库进行匹配,若匹配得到相应的特征码,则识别出该视频的链接地址为视频的真实地址。
MAC平台的safari浏览器要实现嗅探识别当前网页的视频播放区域中的视频的真实地址的功能,可通过以下方式:
动态查找MAC平台的safari浏览器中的didReceiveResponse方法实例;并将didReceiveResponse方法实例替换为可实现嗅探识别当前网页的视频播放区域中的视频的真实地址。
S304:当检测到对所述下载浮动按钮的点击操作时,将与所述下载浮动按钮相关联的真实地址发送给视频下载程序,启动所述视频下载程序对所述视频进行下载。
S305:当检测到对所述下载浮动按钮的点击操作后,识别网页刷新,处理下载浮动按钮的显示逻辑。
具体的,MAC平台的safari浏览器要实现识别网页刷新,处理下载浮动按钮的显示逻辑的功能,可通过以下方式:
首先可动态查找所述MAC平台的safari浏览器中的开始加载网页didStarProvisionalLoadForFrame方法实例;将didStarProvisionalLoadForFrame方法实例替换为可实现识别网页刷新,处理下载浮动按钮的显示逻辑的方法实例。
所述可实现识别当前网页的视频播放区域的位置和分析当前网页的内容层次的方法实例,可实现嗅探识别当前网页的视频播放区域中的视频的真实地址的方法实例以及可实现识别网页刷新,处理浮动按钮显示逻辑的方法实例可采用现有的具有相同功能的方法实例实现。
通过上述实施例的描述可知,本发明具有以下优点:
在MAC平台的浏览器中设置了下载浮动按钮,并能够嗅探识别出视频播放区域中的视频的真实地址与所述下载浮动按钮相关联,用户在使用MAC平台的浏览器时,只需直接点击一个下载浮动按钮即可对当前视频播放区域中播放的视频进行下载,简单方便,提高了用户的使用体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。