发明内容
本发明的主要目的在于提供一种用于被分享事件的记录方法和装置,以解决无法记录被分享事件的真正分享次数的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种用于被分享事件的记录方法。该方法包括:监测用于提交被分享事件的提交元素的状态,上述提交元素设置在用于分享上述被分享事件的社交媒体的提交页面上;判断上述提交元素的状态是否为被触发状态;以及当判断出上述提交元素的状态为上述被触发状态时,将对上述被分享事件的分享记录为一次分享。
进一步地,在监测用于提交被分享事件的提交元素的状态之前,上述记录方法还包括:检测待分享网站上的分享插件是否已经被触发;在检测到上述待分享网站上的上述分享插件已经被触发后,获取用于将上述被分享事件分享至上述社交媒体上的分享入口;以及根据上述分享入口加载上述用于分享上述被分享事件的社交媒体。
进一步地,根据上述分享入口加载上述用于分享上述被分享事件的社交媒体包括:获取与上述分享入口同域名的分享入口代理;以及通过与上述分享入口同域名的分享入口代理加载上述用于分享上述被分享事件的社交媒体。
进一步地,通过与上述分享入口同域名的分享入口代理加载上述用于分享上述被分享事件的社交媒体包括:上述分享入口向与上述分享入口同域名的分享入口代理发送分享请求和上述用于分享上述被分享事件的社交媒体的地址;以及与上述分享入口同域名的分享入口代理接收上述分享请求并按照上述地址加载上述用于分享上述被分享事件的社交媒体。
进一步地,在监测用于提交被分享事件的提交元素的状态之前,上述记录方法还包括:获取上述用于分享上述被分享事件的社交媒体;获取上述用于分享上述被分享事件的社交媒体和上述用于提交被分享事件的提交元素的对应关系;以及根据上述对应关系确定上述用于提交被分享事件的提交元素。
为了实现上述目的,根据本发明的另一方面,提供了一种用于被分享事件的记录装置。该装置包括:监测单元,用于监测用于提交被分享事件的提交元素的状态,上述提交元素设置在用于分享上述被分享事件的社交媒体的提交页面上;判断单元,用于判断上述提交元素的状态是否为被触发状态;以及记录单元,用于当判断出上述提交元素的状态为上述被触发状态时,将对上述被分享事件的分享记录为一次分享。
进一步地,上述记录装置还包括:检测单元,用于在监测用于提交被分享事件的提交元素的状态之前,检测待分享网站上的分享插件是否已经被触发;第一获取单元,用于在检测到上述待分享网站上的上述分享插件已经被触发后,获取用于将上述被分享事件分享至上述社交媒体上的分享入口;以及加载单元,用于根据上述分享入口加载上述用于分享上述被分享事件的社交媒体。
进一步地,上述加载单元包括:获取模块,用于获取与上述分享入口同域名的分享入口代理;以及加载模块,用于通过与上述分享入口同域名的分享入口代理加载上述用于分享上述被分享事件的社交媒体。
进一步地,上述加载模块包括:请求子模块,用于使得上述分享入口向与上述分享入口同域名的分享入口代理发送分享请求和上述用于分享上述被分享事件的社交媒体的地址;以及响应子模块,用于使得与上述分享入口同域名的分享入口代理接收上述分享请求并按照上述地址加载上述用于分享上述被分享事件的社交媒体。
进一步地,上述记录装置还包括:第二获取单元,用于在监测用于提交被分享事件的提交元素的状态之前,获取上述用于分享上述被分享事件的社交媒体;第三获取单元,用于获取上述用于分享上述被分享事件的社交媒体和上述用于提交被分享事件的提交元素的对应关系;以及确定单元,用于根据上述对应关系确定上述用于提交被分享事件的提交元素。
通过本发明,采用监测用于提交被分享事件的提交元素的状态,提交元素设置在用于分享被分享事件的社交媒体的提交页面上;判断提交元素的状态是否为被触发状态;以及当判断出提交元素的状态为被触发状态时,将对被分享事件的分享记录为一次分享,解决了无法记录被分享事件的真正分享次数的问题,进而达到了记录被分享事件的真正分享次数的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,比如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在详细介绍本发明之前,先将下文将要涉及到的术语如下:
分享次数:是指网民将网站上的具体内容分享到了社交媒体的次数。比如,网民A每次将“中国政府网首页”分享到网民A的个人微博上(如,新浪微博、腾讯微博等),中国政府网首页的分享次数都会增加1。
分享功能提供网站:用于提供可供该网站站长使用的分享插件,该分享插件是由除待分享网站(如,中国政府网)和社交媒体(如,新浪微博、腾讯微博等)之外的第三方提供的。在将这些分享插件嵌入待分享网站之后,就能将待分享网站上的内容分享到各个社交媒体上。
待分享网站:嵌入了前述的分享插件的网站。
同域名分享代理:即,与分享入口同域名的分享入口代理,用于接收分享入口的分享请求并接收用于分享被分享事件的社交媒体的地址,并根据接收到的上述分享请求和地址加载相应的社交媒体,以及向分享入口返回具体的请求内容,因此,请求方(即,分享入口)与代理方(即,同域名分享代理)的域名相同。
提交元素:用于提交被分享事件的部件,例如,它可以是各个社交媒体的分享页面上用于提交分享事件的按钮、链接或其他元素。
根据本发明的实施例,提供了一种用于被分享事件的记录方法。该用于被分享事件的记录方法可以运行在计算机处理设备上。
图1是根据本发明实施例的用于被分享事件的记录方法的流程图。如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102,监测用于提交被分享事件的提交元素的状态。
其中,提交元素设置在用于分享被分享事件的社交媒体的提交页面上,它可以是各个社交媒体的分享页面上用于提交分享事件的按钮、链接或其他元素。当有分享事件正在提交时,提交元素处于被触发状态,此时,分享事件被真正分享,应该记录本次分享并相应的增加分享次数;当没有分享事件提交时,提交元素处于闲置状态,此时,分享事件未被真正分享,即不应该记录本次分享,也不应该增加分享次数。
步骤S104,判断提交元素的状态是否为被触发状态。
步骤S106,当判断出提交元素的状态为被触发状态时,将对被分享事件的分享记录为一次分享。
实施时,在将对被分享事件的分享记录为一次分享时,将分享次数增加1。另外,当判断出提交元素的状态为闲置状态时,由于被分享事件实际上没有真正完成分享,因此对此分享不作记录,分享次数也不增加1。
比如,对于用户没有触发分享插件,而是通过复制粘贴分享页面的地址的方式跳转至社交媒体的分享页面上的情况,使用本申请之后,可以监测该社交媒体的分享页面上的提交元素的状态,并且在该提交元素被触发之后,将对被分享事件的分享记录为一次分享,这样,可以避免在没有触发分享插件的情况下被分享事件虽然被真正分享了而分享次数却未增加的情况。
通过本发明实施例,由于只有提交元素被触发时被分享事件才真正完成分享,因此在提交元素处设置监听功能,通过监听提交元素的状态是否为被触发状态来决定是否添加分享记录和增加分享次数,达到了记录被分享事件的真正分享次数的效果,并且提高了统计分享次数的准确性。
优选地,在本发明实施例中,在步骤S102监测用于提交被分享事件的提交元素的状态之前,该记录方法还可以包括:
S2,检测待分享网站上的分享插件是否已经被触发。
在实施时,可以预先在待分享网站上安装分享插件,这样,在网民想要分享待分享网站上的内容时,就可以直接点击该分享插件,实现将待分享事件分享至某个社交媒体的第一步。其中,在被点击时,分享插件即已经被触发;在未被点击时,分享插件则未被触发(即,空闲)。
S4,在检测到待分享网站上的分享插件已经被触发后,获取用于将被分享事件分享至社交媒体上的分享入口。
需要说明的是,前述的分享入口可以设置在一个专门的分享功能提供网站页面上,作为所有使用该分享入口的被分享事件分享至所有社交媒体上的统一分享入口。其中该分享入口所在的页面上可以只有一个Iframe控件。
S6,根据分享入口加载用于分享被分享事件的社交媒体。
在实施时,当网民点击待分享网站上的分享插件时,分享功能被触发,此时,直接由当前页面跳转至分享功能提供网站提供的统一分享入口页面,将被分享事件要分享到的社交媒体加载进来。在社交媒体加载完毕之后,不仅可以在社交媒体上分享被分享事件,而且可以监测Iframe中加载的社交媒体的分享页面中的提交元素。如果提交元素被触发,则认为分享真正完成,分享次数增加1。
通过本发明实施例,采用封装一个分享入口的方式,对所有的被分享事件的分享进程进行统一监测并记录相应的分享次数,提高了记录分享次数的准确性的效果。
进一步优选地,在本发明实施例中,S6根据分享入口加载用于分享被分享事件的社交媒体可以包括:
S8,获取与分享入口同域名的分享入口代理。
S10,通过与分享入口同域名的分享入口代理加载用于分享被分享事件的社交媒体。
在实施时,分享入口可以利用Iframe控件并通过同域名分享代理加载各社交媒体的具体入口地址,由于监测Iframe中加载的社交媒体的分享页面中的提交元素为跨域访问,因此采用Iframe从同域名分享代理处加载各社交媒体的具体入口地址,实现了跨域对Iframe加载的社交媒体的分享页面中的提交元素进行监测的功能。
具体地,分享功能提供网站可以预先配置一份配置文件,该配置文件可以用于指定每个社交媒体的入口路径(即,入口地址)和每个社交媒体的分享页面上的提交元素的唯一标识。
实施时,可以在分享入口处做以下设置:首先,从来自待分享网站的参数关键字中解析出要分享到的社交媒体,并在分享功能提供网站的配置文件中查找到要分享到的社交媒体的入口路径(即,入口地址)和每个社交媒体的分享页面上的提交元素的唯一标识,其中,提交元素的唯一标识的值可以写入分享入口所在页面的隐藏域中,方便调用;然后,设置分享入口所在页面上的Iframe控件的src属性值,使其等于同域名分享代理的入口路径(即,入口地址)。
进一步优选地,在本发明实施例中,S10通过与分享入口同域名的分享入口代理加载用于分享被分享事件的社交媒体可以包括:
S12,分享入口向与分享入口同域名的分享入口代理发送分享请求和用于分享被分享事件的社交媒体的地址。
S14,与分享入口同域名的分享入口代理接收分享请求并按照地址加载用于分享被分享事件的社交媒体。
具体地,同域名分享代理在接收到分享入口中的Iframe的分享请求后,先从该分享请求中解析出要分享到的社交媒体的入口路径(即,入口地址),再加载此路径对应的页面,并将加载的内容转发至分享入口所在页面的Iframe控件。同时,从分享入口所在页面的隐藏域中获取提交元素的唯一标识,并通过Iframe控件监测与该唯一标识相匹配的提交元素处被分享事件的分享情况。
优选地,在本发明实施例中,在监测用于提交被分享事件的提交元素的状态之前,该记录方法还可以包括:
S16,获取用于分享被分享事件的社交媒体;
S18,获取用于分享被分享事件的社交媒体和用于提交被分享事件的提交元素的对应关系;以及
S20,根据对应关系确定用于提交被分享事件的提交元素。
需要说明的是,用于分享被分享事件的社交媒体和上述对应关系可以预先配置在前述的配置文件中,因此,在执行S16和S18步骤之前,可以先解析前述的配置文件,其中,从解析结果中获取上述信息。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明的实施例,提供了一种用于被分享事件的记录装置。需要说明的是,本发明实施例所提供的用于被分享事件的记录方法可以通过本发明实施例的用于被分享事件的记录装置来执行,本发明实施例的用于被分享事件的记录装置也可以用于执行本发明实施例的用于被分享事件的记录方法。
图2是根据本发明实施例的用于被分享事件的记录装置的示意图。如图2所示,该装置包括:监测单元10、判断单元20和记录单元30。
监测单元10用于监测用于提交被分享事件的提交元素的状态。其中,提交元素设置在用于分享被分享事件的社交媒体的提交页面上,它可以是各个社交媒体的分享页面上用于提交分享事件的按钮、链接或其他元素。当有分享事件正在提交时,提交元素处于被触发状态,此时,分享事件被真正分享,应该记录本次分享并相应的增加分享次数;当没有分享事件提交时,提交元素处于闲置状态,此时,分享事件未被真正分享,即不应该记录本次分享,也不应该增加分享次数。
判断单元20用于判断提交元素的状态是否为被触发状态;以及记录单元30用于当判断出提交元素的状态为被触发状态时,将对被分享事件的分享记录为一次分享。实施时,在将对被分享事件的分享记录为一次分享时,将分享次数增加1。另外,当判断出提交元素的状态为闲置状态时,由于被分享事件实际上没有真正完成分享,因此对此分享不作记录,分享次数也不增加1。
比如,对于用户没有触发分享插件,而是通过复制粘贴分享页面的地址的方式跳转至社交媒体的分享页面上的情况,使用本申请之后,可以监测该社交媒体的分享页面上的提交元素的状态,并且在该提交元素被触发之后,将对被分享事件的分享记录为一次分享,这样,可以避免在没有触发分享插件的情况下被分享事件虽然被真正分享了而分享次数却未增加的情况。
通过本发明实施例,由于只有提交元素被触发时被分享事件才真正完成分享,因此在提交元素处设置监听功能,通过监听提交元素的状态是否为被触发状态来决定是否添加分享记录和增加分享次数,达到了记录被分享事件的真正分享次数的效果,并且提高了统计分享次数的准确性。
优选地,在本发明实施例中,记录装置还包括:检测单元、第一获取单元和加载单元。
检测单元用于在监测用于提交被分享事件的提交元素的状态之前,检测待分享网站上的分享插件是否已经被触发。在实施时,可以预先在待分享网站上安装分享插件,这样,在网民想要分享待分享网站上的内容时,就可以直接点击该分享插件,实现将待分享事件分享至某个社交媒体的第一步。其中,在被点击时,分享插件即已经被触发;在未被点击时,分享插件则未被触发(即,空闲)。
第一获取单元用于在检测到待分享网站上的分享插件已经被触发后,获取用于将被分享事件分享至社交媒体上的分享入口。需要说明的是,前述的分享入口可以设置在一个专门的分享功能提供网站页面上,作为所有使用该分享入口的被分享事件分享至所有社交媒体上的统一分享入口。其中该分享入口所在的页面上可以只有一个Iframe控件。
加载单元用于根据分享入口加载用于分享被分享事件的社交媒体。在实施时,当网民点击待分享网站上的分享插件时,分享功能被触发,此时,直接由当前页面跳转至分享功能提供网站提供的统一分享入口页面,将被分享事件要分享到的社交媒体加载进来。在社交媒体加载完毕之后,不仅可以在社交媒体上分享被分享事件,而且可以监测Iframe中加载的社交媒体的分享页面中的提交元素。如果提交元素被触发,则认为分享真正完成,分享次数增加1。
通过本发明实施例,采用封装一个分享入口的方式,对所有的被分享事件的分享进程进行统一监测并记录相应的分享次数,提高了记录分享次数的准确性的效果。
进一步优选地,在本发明实施例中,加载单元包括:获取模块和加载模块。获取模块用于获取与分享入口同域名的分享入口代理;以及加载模块用于通过与分享入口同域名的分享入口代理加载用于分享被分享事件的社交媒体。
在实施时,分享入口可以利用Iframe控件并通过同域名分享代理加载各社交媒体的具体入口地址,由于监测Iframe中加载的社交媒体的分享页面中的提交元素为跨域访问,因此采用Iframe从同域名分享代理处加载各社交媒体的具体入口地址,实现了跨域对Iframe加载的社交媒体的分享页面中的提交元素进行监测的功能。
具体地,分享功能提供网站可以预先配置一份配置文件,该配置文件可以用于指定每个社交媒体的入口路径(即,入口地址)和每个社交媒体的分享页面上的提交元素的唯一标识。
实施时,可以在分享入口处做以下设置:首先,从来自待分享网站的参数关键字中解析出要分享到的社交媒体,并在分享功能提供网站的配置文件中查找到要分享到的社交媒体的入口路径(即,入口地址)和每个社交媒体的分享页面上的提交元素的唯一标识,其中,提交元素的唯一标识的值可以写入分享入口所在页面的隐藏域中,方便调用;然后,设置分享入口所在页面上的Iframe控件的src属性值,使其等于同域名分享代理的入口路径(即,入口地址)。
进一步优选地,在本发明实施例中,加载模块包括:请求子模块和响应子模块。请求子模块用于使得分享入口向与分享入口同域名的分享入口代理发送分享请求和用于分享被分享事件的社交媒体的地址;以及响应子模块用于使得与分享入口同域名的分享入口代理接收分享请求并按照地址加载用于分享被分享事件的社交媒体。
具体地,同域名分享代理在接收到分享入口中的Iframe的分享请求后,先从该分享请求中解析出要分享到的社交媒体的入口路径(即,入口地址),再加载此路径对应的页面,并将加载的内容转发至分享入口所在页面的Iframe控件。同时,从分享入口所在页面的隐藏域中获取提交元素的唯一标识,并通过Iframe控件监测与该唯一标识相匹配的提交元素处被分享事件的分享情况。
优选地,在本发明实施例中,该记录装置还可以包括:第二获取单元、第三获取单元和确定单元。
第二获取单元用于在监测用于提交被分享事件的提交元素的状态之前,获取用于分享被分享事件的社交媒体;第三获取单元用于获取用于分享被分享事件的社交媒体和用于提交被分享事件的提交元素的对应关系;以及确定单元用于根据对应关系确定用于提交被分享事件的提交元素。
需要说明的是,用于分享被分享事件的社交媒体和上述对应关系可以预先配置在前述的配置文件中,因此,在执行第二获取单元、第三获取单元的功能之前,可以先解析前述的配置文件,其中,从解析结果中获取上述信息。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。