即时通讯消息通知的方法、浏览器及服务器转让专利

申请号 : CN201210234473.9

文献号 : CN103532824B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张乐伟

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请涉及一种即时通讯消息的通知方法、浏览器和服务器,所述方法包括接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;根据所述Cookie中的所述标记,在所述上级域名下嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。因此,本申请通过每个上级域名对应一个Cookie,当即时通讯消息到达时,在Cookie中写入到达标记,根据这个标记使得同一上级域名下的其他页面的webIM客户端进行即时通讯消息到达的通知,从而简化了用户操作,并且能够及时的通知其他页面的webIM客户端。

权利要求 :

1.一种即时通讯消息通知的方法,其特征在于,应用于上级域名下包括多个网页即时通讯客户端的即时通讯中,所述方法包括:接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;

将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;

根据所述Cookie中的所述标记,在所述上级域名下嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。

2.如权利要求1所述的即时通讯消息通知的方法,其特征在于,所述根据所述Cookie中的所述标记,在嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知的步骤之后,还包括:根据接收到的所述上级域名下的一个网页即时通讯客户端的所述即时通讯消息的读取消息,修改所述上级域名对应的所述Cookie中的所述标记;

根据所述修改后的所述Cookie中的所述标记,在所述上级域名下的剩余的嵌入有网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知。

3.如权利要求2所述的即时通讯消息通知的方法,其特征在于,所述将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,具体包括:在与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面上进行所述即时通讯消息到达的通知;

将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中。

4.如权利要求3所述的即时通讯消息通知的方法,其特征在于,当所述服务器向多个与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面发送通知信息时;所述将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中具体为:将所述即时通讯消息到达的标记写入多个所述与服务器建立长连接的嵌入有网页即时通讯客户端的页面所属的多个上级域名对应的多个Cookie中。

5.如权利要求4所述的即时通讯消息通知的方法,其特征在于,所述根据接收到的所述上级域名下的一个即时通讯客户端的所述即时通讯消息的读取消息,修改所述上级域名对应的所述Cookie中的所述标记的步骤之后,还包括:接收所述服务器根据所述读取消息返回的响应消息,所述响应消息中包括修改剩余的所述与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中的所述标记的指示信息;

根据所述响应消息中的指示信息,修改所述剩余的上级域名对应的Cookie中的所述标记,以用于根据所述修改后的所述剩余的上级域名对应的Cookie中的所述标记,在所述剩余的上级域名的嵌入有网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知。

6.如权利要求5所述的即时通讯消息通知的方法,其特征在于,所述响应消息是发送给所述剩余的上级域名下与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面的;

所述根据所述响应消息,修改所述剩余的上级域名对应的Cookie中的所述标记具体包括:浏览器解析所述响应消息,并在所述剩余的上级域名下与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知;

将所述剩余的上级域名对应的Cookie中的所述标记进行修改。

7.一种即时通讯消息通知的方法,其特征在于,所述方法包括:

服务器接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;

向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个即时通讯客户端上进行所述即时通讯消息到达的通知。

8.如权利要求7所述的即时通讯消息通知的方法,其特征在于,所述向所述嵌入有网页即时通讯客户端的页面发送通知信息的步骤之后,还包括:根据接收到的一个上级域名下一个即时通讯客户端的读取消息,发送响应消息,所述响应消息中包括修改剩余的上级域名对应的Cookie中的所述标记的指示信息,以用于根据所述修改后的所述剩余的上级域名对应的Cookie中的所述标记,在所述剩余的上级域名的嵌入即时通讯客户端的页面上停止所述即时通讯消息到达的通知。

9.一种浏览器,其特征在于,包括:

接收单元,用于接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;

写入单元,用于将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;

通知单元,用于根据所述Cookie中的所述标记,在嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。

10.一种服务器,其特征在于,所述服务器包括:

接收单元,用于接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;

发送单元,用于向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个网页即时通讯客户端上进行所述即时通讯消息到达的通知。

说明书 :

即时通讯消息通知的方法、浏览器及服务器

技术领域

[0001] 本申请涉及互联网通信领域,尤其涉及一种即时通讯消息通知的方法、浏览器及服务器。

背景技术

[0002] 在嵌入式网页即时通讯消息webIM系统中,当用户通过浏览器打开页面时,对应一个页面内就会有一个webIM客户端嵌入。如果同一服务器提供了不同的域名,那么在打开了不同的域名下多个页面时,不同域名下的页面也会有多个webIM客户端嵌入,这些不同页面下的webIM客户端在进行消息提醒时需要通过通信进行同步。
[0003] 现有的一种方案主要为flash技术,不同域名不同页面通过flash交互达到消息提醒的一致性。但是,这种现有方案需要使用用户需要安装flash,但是当用户在使用webIM过程中,提醒需要安装flash时,会给用户带来复杂繁琐的操作。并且在现实场景中,不少用户没有安装flash,或者不允许在电脑上安装flash,或安装的flash版本过低不支持信息交互等等,因此打开的页面没有flash或者无法通过flash交互信息,这导致了在不同域名不同页面下webIM无法通信,因而当一个页面的webIM已经进行消息读取后,由于没有flash或者flash版本过低不能及时地交互信息而不能及时地通知其他页面。

发明内容

[0004] 本申请提供了一种即时通讯消息通知的方法、浏览器及服务器,以解决操作复杂且不能及时地完成即时通讯消息的通知。
[0005] 为了实现上述,本申请提供了一种即时通讯消息的通知方法。该方法包括:
[0006] 接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;
[0007] 将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;
[0008] 根据所述Cookie中的所述标记,在所述上级域名下嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。
[0009] 其中,在上述实施方案之后,还包括根据接收到的所述上级域名下的一个网页即时通讯客户端的所述即时通讯消息的读取消息,修改所述上级域名对应的所述Cookie中的所述标记;根据所述修改后的所述Cookie中的所述标记,在所述上级域名下的剩余的嵌入有网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知。
[0010] 在上述实施方案之后,还包括接收所述服务器根据所述读取消息返回的响应消息,所述响应消息中包括修改剩余的所述与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中的所述标记的指示信息;根据所述响应消息中的指示信息,修改所述剩余的上级域名对应的Cookie中的所述标记,以用于根据所述修改后的所述剩余的上级域名对应的Cookie中的所述标记,在所述剩余的上级域名的嵌入有网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知。
[0011] 本申请还提供了一种即时通讯消息的通知方法,所述方法包括:
[0012] 服务器接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;
[0013] 向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使所述浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个即时通讯客户端上进行所述即时通讯消息到达的通知。
[0014] 本申请还提供了一种浏览器,该浏览器包括:
[0015] 接收单元,用于接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;
[0016] 写入单元,用于将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;
[0017] 通知单元,用于根据所述Cookie中的所述标记,在嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。
[0018] 本申请还提供了一种服务器,该服务器包括:
[0019] 接收单元,用于接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;
[0020] 发送单元,用于向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使所述浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个网页即时通讯客户端上进行所述即时通讯消息到达的通知。
[0021] 因此,本申请通过每个上级域名对应一个Cookie,当即时通讯消息到达时,在Cookie中写入到达标记,根据这个标记使得同一上级域名下的其他页面的webIM客户端进行即时通讯消息到达的通知,从而简化了用户操作,并且能够及时的通知其他页面的webIM客户端。

附图说明

[0022] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1为本申请提供的即时通讯消息通知的方法的应用场景架构图。
[0024] 图2为本申请实施例即时通讯消息通知的方法的流程图。
[0025] 图3为本申请实施例即时通讯消息通知的方法的流程图。
[0026] 图4为本申请实施例即时通讯消息通知的方法的流程图。

具体实施方式

[0027] 本申请通过在浏览器上保存的对应域名的Cookie中,当接收到即时通讯消息到达的通知消息时,在与服务器建立连接的嵌入有网页即时通讯客户端的页面上,通知即时通讯消息到达,并将通知消息携带的标记写入Cookie中,该域名下的其他页面上嵌入有的网页即时通讯客户端根据该标记,进行即时通讯消息到达的通知,当即时通讯消息读取后,Cookie中的标记被修改,此时,其他网页即时通讯客户端根据修改后的标记,停止即时通讯消息到达的通知。同时,服务器根据读取消息通知修改其他域名的Cookie,以使其他域名的网页即时通讯客户端也停止即时通讯消息到达的通知,从而简化了用户操作,并且能够及时的通知其他页面的webIM客户端。
[0028] 首先描述本申请提供的即时通讯消息通知的方法的应用场景。图1为本申请提供的即时通讯消息通知的方法应用场景架构图。在该应用中,有服务器1和终端侧的浏览器2。该服务器是提供webIM客户端页面的服务器,而该提供webIM客户端页面的服务器提供的域名可以是主服务器提供的上级域名的二级域名。例如,主服务器为电子商务服务器,提供的上级域名(顶级域名)为taobao.com和tmall.com,而webIM客户端所在的域名为x1.taobao.com、和x1.tmall.com,此为二级域名,而嵌入webIM客户端的页面所在的域名也同样为二级域名,例如trade.taobao.com。应当理解webIM客户端和嵌入webIM客户端的页面所在的上级域名为同一域名。此处仅仅是为了举例说明,webIM客户端具体所属的上级域名并不限于以上所述的两个域名。主服务器提供小型文件记录(Cookie),每个Cookie对应存储上级域名下的各种数据。Cookie电网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,通常经过加密。具体地,Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器。这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。Cookie是浏览器进行维护的用于用户本地终端上存储数据的档案。因此,浏览器了解上级域名和Cookie之间的对应关系,这样当浏览器接收到即时通信消息时,可以根据域名信息找到相对应的Cookie。
[0029] WebIM服务器和主服务器可以是独立的两台服务器,或者两者可以是一台服务器,WebIM服务器是主服务器上的一个服务器模块。
[0030] 应当注意的是,本申请所指的webIM是指嵌入式网页即时通讯消息webIM客户端。当用户通过浏览器打开多个普通页面,对应页面内就会有webIM客户端嵌入。例如,打开淘宝网上“已买到的宝贝”的页面时,页面会嵌入阿里旺旺之类的webIM客户端。在普通页面上显示嵌入的webIM客户端的方式可以是,例如,普通页面上嵌入阿里旺旺客户端,在普通页面上看见类似小水滴形状的用来表示阿里旺旺客户端的标志。在本申请中,嵌入有webIM客户端的普通页面可以被称为父页面。
[0031] 用户可使用该webIM客户端进行聊天,此时打开的聊天页面就是即时通讯窗口页面。在此,即时通讯窗口页面是嵌入在用户打开的页面内。该即时通讯窗口页面可以打开显示在用户打开的普通页面内,该即时通讯窗口页面也可以最小化在普通页面上。即时通讯窗口页面是指,不借用在本地安装的即时通讯工具,而是利用浏览器嵌入webIM客户端后在普通页面上嵌入打开的聊天窗口页面。服务器记录该用户的登录信息,例如,登录webIM客户端情况,虽然用户只登录了一个webIM客户端,但是,在打开同一上级域名的其他网页webIM客户端通过Cookie都可获取到的该用户在其他网页webIM客户端页面上是登录的。此外,当用户登录了一个上级域名下一个webIM客户端时,此时浏览器发现该用户还打开了服务器提供的其他上级域名下的页面,则也向服务器发起在其他域名的其他webIM客户端页面上用户登录。这样任何一个webIM客户端页面上都可以显示即时通讯消息。除了用户登录webIM客户端页面之外,用户登录域名下页面上的个人账户时,服务器也具有同时使用户登录网页IM客户端页面的功能。例如,阿里巴巴电子商务网站服务器,提供taobao.com和tmall.com这两个上级域名,当用户登录这两个上级域名下的任一二级域名下任一页面个人账户或任一网页IM客户端页面时,其他打开的所有网页IM客户端页面(包括同一域名或不同域名下的页面)上都显示已登录了webIM客户端。
[0032] 多个webIM客户端例如x1.taobao.com、x2.taobao.com、x3.taobao.com,以及x1.tmall.com、x2.tmall.com、x3.tmall.com分别嵌入在多个普通页面上,这些同属一个上级域名下的多个webIM客户端所在的页面中有一个嵌入了其的父页面与服务器建立连接,该webIM客户端所属的上级域名下的其他webIM客户端的父页面共享这个连接,通过Cookie交互消息通知。
[0033] 其中,嵌入有webIM客户端的页面在同一个上级域名下一定会有一个页面与服务器建立长连接。因此,同属一个上级域名下的多个嵌入有webIM客户端的父页面中有一个父页面与服务器建立连接是指建立长连接。所谓长连接是服务器和客户端之间的长轮询,也就是浏览器向服务器发起一个http请求后,服务器不返回响应,直到有浏览器页面消息(例如聊天消息或者用户状态变化等一系列与用户有关的消息)到来,或者设定一个时间(譬如30s,为了模拟心跳)后,才返回响应,但是在服务器返回响应后,连接将断开,浏览器收到响应后,立刻再发起一个同样的请求,持续重复之前的过程。
[0034] 当浏览器发送http请求至服务器打开某个域名下某些嵌入有webIM客户端的父页面时,刚开始打开的第一个父页面作为建立长连接的页面,如果后续这个页面被关闭,则其他多个页面通过Cookie来竞争,Cookie中保存这个页面的持续时间等数据,多个页面之间竞争的原则是以页面打开的时间长度为优先,打开时间长的,认为其继续存在的时间也会长,浏览器选择其为建立长连接的页面。因此,当用户打开了多个域名下多个父页面,则有多个不同域名下的建立长连接的父页面。一个域名下只能建立一个连接,连接个数与域名个数相等。
[0035] 其中,本文中涉及的浏览器可以是多窗口浏览器,例如IE浏览器,或者单窗口多标签浏览器例如Opera浏览器。
[0036] 当服务器发现有即时通讯消息到达需要推送给webIM客户端时,服务器获取与之建立长连接的嵌入有webIM客户端的父页面,该webIM客户端的父页面可能是一个上级域名下的建立长连接的页面,也可能是多个上级域名下建立长连接的多个页面。
[0037] 服务器通过浏览器向与之建立长连接的嵌入有webIM客户端的父页面例如trade.taobao.com发送通知消息,该通知消息中携带有即时通讯消息待到达的标记,浏览器解析该通知消息,在当前建立长连接的嵌入有webIM客户端父页面上进行即时通讯消息到达的通知,并向例如taobao.com上级域名对应的Cookie中写入标记。除了该父页面之外,用户在浏览器中还打开了taobao.com上级域名下的其他父页面,而此时,由于Cookie中写入了标记,因此,浏览器根据该标记,在这个域名下的其他嵌入有网页即时通讯客户端的页面上也进行即时通讯消息的通知。
[0038] 如果此时建立长连接的webIM客户端的父页面除了taobao.com上级域名下页面之外,还有tmall.com上级域名下的webIM客户端的父页面,则服务器同时向这两个建立长连接webIM客户端的父页面推送通知消息,浏览器解析该通知消息,在tmall.com上级域名长连接的父页面上进行即时通讯消息到达的通知,并向例如tmall.com上级域名对应的Cookie中写入标记。由于Cookie中写入了标记,浏览器根据该标记,在这个上级域名下的其他父页面上也进行即时通讯消息的通知。
[0039] 所谓在父页面上进行即时通讯消息到达的通知是指,在嵌入了网页即时通讯客户端的页面上,该网页即时通讯客户端进行闪动等动作的提醒。
[0040] 当用户通过输入设备点击某个域名下某个父页面上的网页即时通讯客户端,例如x1.taobao.com,来读取即时通讯消息时,浏览器修改这个taobao.com上级域名对应的Cookie中的标记,浏览器根据该Cookie中的标记将在这个域名下的其他父页面上的即时通讯消息通知停止。同时,浏览器还将读取消息发送服务器,服务器根据该读取消息,向浏览器推送消息已读取,浏览器修改其他上级域名例如tmall.com对应的Cookie中的标记,此时根据该Cookie中的标记,在该上级域名例如tmall.com下的父页面上停止即时通讯消息到达的通知。
[0041] 所述父页面上停止即时通讯消息到达的通知是指,在嵌入了网页即时通讯客户端的页面上,该网页即时通讯客户端不再进行闪动等动作的提醒。
[0042] 为了更加便于理解,在描述本申请实施例之前,描述下用户所作的操作。举例来说,用户打开了www.taobao.com域名下的一个页面,例如trade.taobao.com页面(“已买到的宝贝”的页面),在该trade.taobao.com页面上嵌入有webIM客户端,例如阿里旺旺,此时用户点击已买到的宝贝中显示的卖家的阿里旺旺进行聊天,会出现下面的情形:在这个打开的已买到宝贝的页面上嵌入一个打开的聊天窗口即所述的即时通讯窗口页面,通过这个即时通讯窗口页面用户和卖家A进行聊天;除此之外,同样地,用户还打开了多个item.taobao.com页面(商品购买页面),在这些购买页面也嵌入有webIM客户端,例如阿里旺旺,同样的用户可以和这些页面上卖家B和C分别进行聊天。
[0043] 在此,应当理解的是,如果这些聊天窗口都是打开的情况下,即每一个普通页面上嵌入的webIM客户端处于聊天状态都有当前明确的目标对象在聊天时,有消息到时,该消息内容直接显示在聊天窗口的对话框中,这个过程同现有的本地安装的即时通讯客户端聊天相同。本申请所描述的实施例适用于多个父页面上webIM有一些webIM处于聊天状态(即父页面上嵌套打开了聊天窗口)或者全部webIM处于非聊天状态,如果有某个卖家的消息到达时,可以使用本申请所提供的方法来实现即时通讯消息到达的通知。
[0044] 下面借助附图结合上述应用架构来详细描述本申请即时通讯消息通知的方法。图2为本申请实施例即时通讯消息通知的方法的流程图。在本实施例中执行主体为浏览器,首先描述用户在浏览器侧打开了一个上级域名下的多个嵌入有网页即时通讯客户端的父页面这种情况。如图2所示,本申请实施例即时通讯消息通知的方法可以包括以下步骤:
[0045] 步骤21,接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;
[0046] 具体地,服务器当接收到有向该用户推送的即时通讯消息,例如卖家B发送的消息时,向域名例如www.taobao.com下与服务器建立连接的嵌入有webIM客户端的父页面例如trade.taobao.com上的客户端例如x1.taobao.com推送通知信息。
[0047] 其中,服务器向用户发送即时通讯消息的优选方式,是选择登录用户帐号下的与服务器建立长连接的嵌入有webIM客户端的父页面来向该页面发送即时通讯消息。正如上面所描述的,嵌入有webIM的客户端的父页面中总有一个父页面是与服务器建立长连接的,服务器记录有这些信息。通知消息是JSON(JavaScript Object Notation,JSON是一种轻量级的数据交换格式)格式的一段字符串。
[0048] 步骤22,将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中;
[0049] 首先,先介绍下用户使用浏览器打开的嵌入有网页即时通讯客户端的页面,该父页面是通过JS(JavaScript,简写JS,是一种计算机脚本语言)代码编写的,在页面的代码中有表示当接收到通知消息后进行有即时通讯消息到达的提醒的一段代码,这段代码使得嵌入其中的webIM客户端进行闪动或者标亮,或者消息读取后关闭闪动或者标亮。
[0050] 下面分两种情况来说明本步骤。
[0051] 第一种情况是,如果当前父页面上的webIM客户端虽然处于聊天状态即打开了聊天窗口,但是不是和卖家B的对话框,则父页面接收到通知消息后,解析页面发现有目标对象在聊天,在该父页面上不进行即时通讯消息到达的通知,而会将所述即时通讯消息到达的标记写入上级域名对应的Cookie中,以使得在其他剩余的该上级域名下的父页面上进行即时通讯消息到的通知。在这种情况下,在父页面上也可以进行即时通讯消息到达的通知,即webIM客户端闪动,以及将标记写入上级域名对应的Cookie。
[0052] 第二种情况是,如果当前父页面上的webIM客户端不处于聊天状态即没打开聊天窗口,则会在本步骤中,浏览器在将标记写入taobao.com上级域名对应的Cookie中之前,浏览器首先解析该通知消息即一段字符串调用页面上的进行有即时通讯消息到达的提醒的一段代码,在该嵌入有webIM客户端的父页面上,通知即时通讯消息到达,例如,通过将普通页面上嵌入的webIM客户端标亮或者闪动,例如,普通页面上嵌入阿里旺旺客户端的,可以在普通页面上看见类似小水滴形状的用来表示阿里旺旺客户端的标志,消息到达时这个标记闪动或者标亮。然后将标记写入例如taobao.com上级域名对应的Cookie中。
[0053] 这个标记是用于提示有即时通讯消息到达,请求调用进行有即时通讯消息到达的提醒的一段代码将各个页面上嵌入的webIM标亮或闪动,来通知即时通讯消息到达,或者用于提示即时通讯消息已经读取,请求调用这段代码关闭页面标亮或闪动,来进行通知即时通讯消息已被读取。
[0054] 步骤23,根据所述Cookie中的所述标记,在所述上级域名下嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知;
[0055] 由于同一上级域名下多个嵌入有网页即时通讯客户端的页面共享一个长连接,通过Cookie交互通知消息,因此,浏览器根据Cookie中的标记,调用页面上的进行有即时通讯消息到达的提醒的一段代码,在这个taobao.com上级域名下的其他嵌入有webIM客户端页面上通知即时通讯消息到达,具体为浏览器解析页面,浏览器打开的页面轮询Cookie,并判断自己是否为嵌入有网页即时通讯客户端的父页面,需要执行进行消息到达通知的代码在其上进行即时通讯消息的到达通知,此为现有技术不再赘述。
[0056] 从步骤11至13完成了一个卖家的一条即时通讯信息到达的通知,当有多个卖家多条即时通讯消息到达时,重复这些步骤,但在具体的webIM客户端进行闪动提醒时,不论是多个卖家还是一个卖家的即时通讯消息通知只会看到webIM客户端在不停闪烁,而看不到有几个卖家的消息,但是当点击webIM客户端时,如果有多个卖家发送的消息就会看到卖家列表。
[0057] 上述过程描述了利用服务器向浏览器发送的标记,记录在Cookie中后实现即时通讯消息在同一上级域名下不同父页面上的通知。下述过程将描述在同一上级域名下一个父页面的webIM客户端读取即时通讯消息后,该上级域名下的其他父页面停止即时通讯消息的通知的情况。
[0058] 继续参见图2,本申请实施例即时通讯消息通知的方法还可以包括以下步骤:
[0059] 步骤24,根据接收到的所述上级域名的一个嵌入有网页即时通讯客户端的页面的所述即时通讯消息的读取消息,修改所述上级域名对应的所述Cookie中的所述标记;
[0060] 在本步骤中,浏览器多个父页面上有多个即时通讯消息到达的通知,用户通过鼠标、触屏之类的输入设备点击webIM客户端,如果只有一个卖家的消息来时,直接点击这个webIM客户端将跳出即时通讯窗口页面,如果点击webIM客户端有多个聊天对象卖家的列表,用户依次选择卖家,点击打开即时通讯窗口页面读取这个即时通讯消息,此时用户的鼠标的点击动作,触发页面向浏览器发起读取消息,浏览器接收到这个webIM客户端的读取消息后,将修改这个父页面所属的上级域名对应的Cookie中的标记。应当注意的是,用户的点击动作,触发页面向浏览器发起读取消息的同时,也在向webIM服务器发送获取消息内容的请求,webIM服务器接收到该获取消息内容的请求后,将消息内容推送到用户点击打开的webIM的即时通讯窗口页面上,消息内容的获取是现有技术不再赘述。而此时发送消息内容的卖家可能是A或B卖家。因此,通过上述描述的过程,在打开的多个父页面上,利用嵌入的webIM客户端可以接收任一个卖家发送的消息内容。
[0061] 因此,读取即时通讯消息的webIM客户端所在的父页面可以是建立长连接的页面例如第一次打开的页面或者打开时间最久的父页面,或者可以是同一域名下的任一嵌入webIM客户端的页面。
[0062] 步骤25,根据所述修改后的所述Cookie中的所述标记,在所述上级域名的剩余的父页面上停止所述即时通讯消息到达的通知。
[0063] 在本步骤中,修改了Cookie中的标记后,由于同一上级域名下多个webIM客户端的父页面通过Cookie交互消息,浏览器此时根据Cookie中的修改的标记(例如将原来赋值为1的标记修改为0),请求调用代码关闭页面标亮或闪动来通知即时通讯消息已被读取,即将页面上的webIM客户端的通知全部停止,例如不再标亮或闪动。
[0064] 鉴于上述过程,可以看出本申请通过服务器下发的通知消息中携带的即时通讯消息到达的标记,记录到Cookie中,使用Cookie交互信息避免了额外安装软件,需要人工的介入,减除了这种额外安装的复杂繁琐过程,实现及时地快速地同一域名下多页面上的即时通讯消息的通知,并且同时利用标记的修改来达到停止即时通讯消息的通知。
[0065] 下面将描述用户在浏览器上打开了多个上级域名下多个即时通讯窗口页面的情况。图3为本申请实施例即时通讯消息通知的方法的流程图。如图3所示,本申请实施例即时通讯消息通知的方法可以包括以下步骤:
[0066] 步骤31,接收服务器向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;
[0067] 与上述实施例不同的是,在步骤31之前用户打开了多个上级域名下多个嵌入有网页即时通讯客户端的页面,例如taoba.com上级域名下的父页面和tmall.com上级域名下的父页面,同样浏览器维护两个Cookie,优选地服务器向建立长连接的页面上的webIM客户端推送通知信息。
[0068] 步骤32,将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中;
[0069] 本步骤32同步骤22相同,也有两种情况,当前接收通知消息的父页面处于聊天状态和不处于聊天状态。在本步骤中,与上述实施例不同的是,在当前父页面不处于聊天状态时,浏览器分别在每个上级域名下建立长连接的嵌入有webIM客户端的页面上通知即时通讯消息到达例如通过将客户端标亮或者闪动,然后将标记写入两个Cookie中。
[0070] 步骤33,根据所述Cookie中的所述标记,在所述页面所属的上级域名下的其他多个嵌入有网页即时通讯客户端的页面上进行所述即时通讯消息到达的通知;
[0071] 在本步骤中,与上述实施例不同的是,浏览器根据两个cookie中的标记,在这两个上级域名下的其他嵌入有webIM客户端的页面上通知即时通讯消息到达。
[0072] 从步骤31至步骤33这些过程描述了在不同上级域名下多个父页面上在webIM客户端上通知即时通讯消息到达。
[0073] 本实施例还可以包括以下步骤:
[0074] 步骤34,根据接收到的所述上级域名的一个webIM客户端的所述即时通讯消息的读取消息,修改所述上级域名对应的所述Cookie中的所述标记,以用于根据所述修改后的所述Cookie中的所述标记,在所述上级域名的剩余的即时通讯客户端上停止所述即时通讯消息到达的通知。
[0075] 在本步骤中,同上述实施例,用户通过鼠标之类的输入设备选择了某一个上级域名下的一个webIM客户端x1.taobao.com点击打开即时通讯窗口读取这个即时通讯消息。这个上级域名下的其他父页面上的网页即时通讯客户端上全部停止即时通讯消息的通知。其中,浏览器接收到该读取消息后,会将该读取消息发送给服务器。而将该读取消息发送给服务器的步骤和浏览器根据所述修改后的Cookie中的标记,在所述上级域名的剩余的即时通讯客户端上停止所述即时通讯消息到达的通知的步骤,在时序上没有先后限制。
[0076] 步骤35,接收所述服务器根据所述读取消息返回的响应消息,所述响应消息中包括修改剩余的所述与所述服务器建立长连接的嵌入有网页即时通讯客户端的页面所属的上级域名对应的Cookie中的所述标记的指示信息;
[0077] 在本步骤中,服务器收到消息被获取后,要将即时通讯消息已被读取的信息推送给其他上级域名下的网页即时通讯客户端,因此向浏览器剩余的上级域名下与服务器建立长连接的嵌入有网页即时通讯客户端的页面返回响应消息,来指示修改剩余的上级域名对应的cookie中的标记。
[0078] 步骤36,根据所述响应消息,修改所述剩余的上级域名对应的Cookie中的所述标记,以用于根据所述修改后的所述剩余的上级域名对应的Cookie中的所述标记,在所述剩余的上级域名的网页即时通讯客户端上停止所述即时通讯消息到达的通知。
[0079] 在本步骤中,同样地,服务器将响应消息推送给剩余的与所述服务器建立长连接的嵌入有webIM客户端的页面,浏览器解析该响应消息,将该上级域名tmall.com下与服务器建立长连接的父页面上webIM的通知停止,然后通过改动tmall.com上级域名对应的Cookie来将消息已经读取告知该上级域名下的其他即时通讯客户端,例如tmall.com上级域名对应的Cookie,这样浏览器根据Cookie中修改的标记,将这个上级域名下的父页面上嵌入的所有webIM客户端停止即时通讯消息到达的通知。
[0080] 其中本实施例中浏览器页面上的进行即时通讯消息提醒和关闭的代码、标记和通知消息的相关描述参见上述实施例中的描述。
[0081] 在该实施例中,举例时只描述了用户打开了两个上级域名下的多个即时通讯窗口的情况,但是在此仅为举例,并不用于限制,该实施例适用于用户打开了三个以上上级域名下的多个即时通讯窗口的情况,在这种情况下,浏览器维护三个以上Cookie,通知消息发送给三个以上建立长连接的嵌入有网页即时通讯客户端的页面,其中一个上级域名下的一个网页即时通讯客户端读取了即时通讯消息后,服务器将响应消息发送给除了这个已读取消息的上级域名之外的剩下的上级域名的建立长连接的嵌入网页即时通讯客户端的页面。
[0082] 同上述实施例不同的是,本实施例解决多个上级域名下多个父页面上的webIM客户端的即时通讯消息的通知。同样,利用Cookie交互信息避免了额外安装软件,需要人工的介入,减除了这种额外安装的复杂繁琐过程,并且通过cookie交互信息来通知即时通讯消息,可以及时地快速地实现多上级域名多父页面上webIM通知。以及在一个上级域名下的一个webIM读取了即时通讯消息后,由服务器通过携带指示信息的响应消息来向其他上级域名下的父页面上的webIM,告知停止即时通讯消息的通知,从而及时地快速地在多上级域名多页面上停止即时通讯消息的通知。
[0083] 上述实施例描述了浏览器执行本申请的过程。下面描述服务器执行本申请的过程。图4为本申请实施例即时通讯消息通知的方法的流程图。如图4所示,本申请实施例即时通讯消息通知的方法可以包括以下步骤:
[0084] 步骤41,服务器当接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;
[0085] 应当理解的是,用户通过浏览器打开了多个上级域名下多个页面,webIM客户端登录后,利用webIM进行即时通讯消息的收发,服务器在此过程中实现将接收一方消息,然后将消息发送给对方的功能,因此当一方用户将即时通讯消息发送至服务器时,服务器需要向对方用户推送通知信息。
[0086] 在本步骤中,服务器了解其提供的上级域名下即时通讯消息的用户登录的即时通讯窗口客户端的情况,例如用户登录了其提供的两个上级域名下的网页,则此时服务器获取用户登录的这两个上级域名下建立长连接的多个嵌入网页即时通讯客户端的页面。
[0087] 步骤42,向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使所述浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个网页即时通讯客户端上进行所述即时通讯消息到达的通知。
[0088] 其中,浏览器进行所述即时通讯消息到达的通知的描述可以参见上述浏览器为主体的实施例中的详细描述,在此不再赘述。而通过上述过程,可以实现一个或多个上级域名下多个父页面上webIM的即时通讯消息到达的通知。
[0089] 在优选实施例中,所述向浏览器发送通知信息的步骤之后,还可以包括:
[0090] 步骤43,根据接收到的一个上级域名下一个即时通讯客户端的读取消息,发送响应消息,所述响应消息中包括修改剩余的上级域名对应的Cookie中的所述标记的指示信息,以用于根据所述修改后的所述剩余的上级域名对应的Cookie中的所述标记,在所述剩余的上级域名的嵌入网页即时通讯客户端的页面上停止所述即时通讯消息到达的通知。
[0091] 在本步骤中,服务器将响应消息推送给剩余的与所述服务器建立长连接的嵌入webIM客户端的页面,浏览器解析该响应消息,将该上级域名例如tmall.com下与服务器建立长连接的父页面上的即时通讯消息的通知停止,然后通过改动上级域名对应的Cookie来将消息已经读取告知该上级域名下的其他父页面,例如tmall.com上级域名对应的Cookie,这样浏览器根据Cookie中修改的标记,将这个上级域名下的所有webIM客户端的父页面上的即时通讯消息到达的通知停止。
[0092] 通过步骤43可以实现多上级域名下多个父页面的即时通讯消息到达通知的停止。
[0093] 本实施例利用通知消息中携带的标记,记录在Cookie中,通过Cookie交互信息实现同一上级域名下多个父页面上的即时通讯消息的通知和停止通知,以及利用响应消息中携带的指示信息,将不同上级域名对应的Cookie中的标记进行修改,实现不同上级域名下多个父页面上的即时通讯消息的通知的停止,从而避免了额外安装软件,需要人工的介入,减除了这种额外安装的复杂繁琐过程,并且可以及时地快速地实现多上级域名多父页面上的即时通讯消息的通知和停止通知。
[0094] 相应地,本申请还提供了一种浏览器,该浏览器包括接收单元、写入单元和通知单元。
[0095] 其中,接收单元,用于接收服务器向向嵌入有网页即时通讯客户端的页面发送的通知信息,所述通知信息中包括即时通讯消息到达的标记;
[0096] 写入单元,用于将所述即时通讯消息到达的标记写入所述嵌入有网页即时通讯客户端的页面所属的上级域名对应的小型文件记录Cookie中;
[0097] 通知单元,用于根据所述Cookie中的所述标记,在所述上级域名下嵌入所述网页即时通讯客户端的其他页面上进行所述即时通讯消息到达的通知。
[0098] 服务器通过浏览器向与之建立长连接的父页面例如嵌入webIM客户端的页面例如trade.taobao.com,该通知消息中携带有即时通讯消息待到达的标记,浏览器接收单元解析该通知消息,在当前建立长连接的嵌入有webIM客户端的父页面上进行即时通讯消息到达的通知,写入单元并向例如taobao.com上级域名对应的Cookie中写入标记。除了该父页面之外,用户在浏览器中还打开了taobao.com上级域名下的其他父页面,而此时,由于Cookie中写入了标记,因此,浏览器的通知单元根据该标记,在这个上级域名下的其他嵌入有网页即时通讯客户端的页面上也进行即时通讯消息的通知。
[0099] 如果此时建立长连接的父页面除了taobao.com上级域名下页面之外,还有tmall.com上级域名下的webIM客户端的父页面,则服务器同时向这两个长连接webIM客户端的父页面推送通知消息,同样浏览器接收单元解析该通知消息,在tmall.com上级域名长连接的父页面上进行即时通讯消息到达的通知,写入单元并向例如tmall.com上级域名对应的Cookie中写入标记。由于Cookie中写入了标记,浏览器的通知单元根据该标记,在这个上级域名下的其他嵌入网页即时通讯客户端的页面上也进行即时通讯消息的通知。
[0100] 当用户通过输入设备点击某个上级域名下某个父页面上的上的网页即时通讯客户端例如x1.taobao.com来读取即时通讯消息时,浏览器的接收单元接收该读取消息,浏览器的写入单元修改这个上级域名的Cookie中的标记,浏览器的通知单元则根据该Cookie中的标记将在这个上级域名下的其他父页面上的即时通讯消息通知停止。同时,浏览器的发送单元还将读取消息发送服务器,服务器根据该读取消息,向浏览器推送消息已读取的响应消息,浏览器接收单元接收该响应消息后,写入单元修改其他上级域名例如tmall.com下的Cookie中的标记,此时通知单元根据该Cookie中的标记,在该上级域名例如tmall.com下的父页面上停止即时通讯消息到达的通知。
[0101] 而且本申请还提供了一种服务器,所述服务器包括接收单元和发送单元。
[0102] 接收单元,用于接收到即时通讯消息待发送时,获取接收所述即时通讯消息的嵌入有网页即时通讯客户端的页面;
[0103] 发送单元,用于向所述嵌入有网页即时通讯客户端的页面发送通知信息,所述通知信息中包括即时通讯消息到达的标记,以使所述浏览器将所述即时通讯消息到达的标记写入所述嵌入网页即时通讯客户端的页面所属的上级域名对应的Cookie中,并根据所述Cookie中的所述标记,在所述嵌入有网页即时通讯客户端的页面所属的上级域名下的多个网页即时通讯客户端上进行所述即时通讯消息到达的通知。
[0104] 服务器接收单元在接收到读取消息后,发送单元进一步用于将响应消息推送给剩余的与所述服务器建立长连接的父页面。通过该响应消息可以实现多上级域名下多父页面的即时通讯消息到达通知的停止。
[0105] 本申请利用通知消息中携带的标记,记录在Cookie中,通过cookie交互信息实现同一上级域名下多个父页面上的即时通讯消息的通知和停止通知,以及利用响应消息中携带的指示信息,将不同上级域名对应的Cookie中的标记进行修改,实现不同上级域名下多个父页面上的即时通讯消息的通知的停止,从而避免了额外安装软件,需要人工的介入,减除了这种额外安装的复杂繁琐过程,并且可以及时地快速地实现多上级域名多父页面上的即时通讯消息的通知和停止通知。
[0106] 本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0107] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0108] 以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。