一种基于拦截器的浏览器报错的方法和装置的制作方法

文档序号:6339415阅读:410来源:国知局
专利名称:一种基于拦截器的浏览器报错的方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于拦截器的浏览器报错的方法和装置。
背景技术
随着技术的发展,浏览器不再仅限于浏览网页,越来越多的C/S架构的软件也都采用浏览器来访问服务器,以使终端无需安装客户端就可以访问服务器。现有技术中,当浏览器访问服务器时经常会出现各种各样的问题导致浏览器出错;例如某一操作界面因数据错误或服务器错误出现中断。在大型系统中,这种情况尤为突出。现有技术中处理的方式为在接入服务器上预置有一个或多个报错网页,当网页或操作界面因数据错误或服务器错误出现中断时,将浏览器直接跳转到相对应的报错网页。为了提示用户出错的原因,可以针对不同的出错原因预设置多个报错页面。例如当服务器不可用时,浏览器会跳转到“无法显示网页”的报错网页。又例如当用户通过浏览器访问服务器端软件时,会通过浏览器与服务器端软件进行数据交互。浏览器接收到采用HTML或XML等语言编制的网页后,进行解码并显示给用户。该HTML格式或XML格式的网页中有多个函数,并显示为允许用户输入的形式。在实现本发明的过程中,发明人发现现有技术至少存在以下问题当通过浏览器访问某一网页或操作界面时,如果因数据错误或服务器错误跳转到该报错网页,则只能重新打开该网页或操作界面或是通过返回键返回该网页或操作界面。 这样用户在前一网页输入的所有内容都会丢失,造成用户使用时非常不方便。

发明内容
为了解决现有技术中浏览器访问互联网网页或是软件的操作页面时出错时导致的用户使用非常不方便的问题,本发明实施例根据web过滤器的过滤链思想,提出了一种基于拦截器的浏览器报错的方法和装置。所述技术方案如下本发明实施例提出了一种浏览器报错的方法,包括获取所述浏览器的返回信息;当所述返回信息为报错信息时,拦截该返回信息。作为上述技术方案的优选,所述获取所述浏览器的返回信息包括监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回信息。作为上述技术方案的优选,所述当所述返回信息为报错信息时,拦截该返回信息包括对该返回信息进行解析以确定该返回信息的数据内容;将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误信息。作为上述技术方案的优选,所述方法还包括根据该预设的与错误信息对应的错误提示显示给用户。
作为上述技术方案的优选,所述方法还包括获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提示,包括程序堆栈,供开发人员调试。本发明实施例还提出了一种基于拦截器的浏览器报错的装置,包括获取模块,用于获取所述浏览器的返回信息;拦截模块,用于当所述返回信息为报错信息时,拦截该返回信息。作为上述技术方案的优选,所述获取模块包括监听单元,用于监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回信肩、ο作为上述技术方案的优选,所述拦截模块包括解析单元,用于获取该返回信息,并对该返回信息进行解析以确定该返回信息的数据内容;对比单元,将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误信肩、ο作为上述技术方案的优选,所述拦截模块还包括提示单元,用于根据该预设的与错误信息对应的错误提示显示给用户。作为上述技术方案的优选,所述装置还包括预设置模块,用于获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提示。本发明实施例提供的技术方案的有益效果是本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例中使用的附图作一简单地介绍,显而易见地,下面所列附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明第一实施例的流程示意图;图2为本发明第二实施例的流程示意图;图3为本发明第三实施例的结构示意图;图4为本发明第四实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例的设计思路是由系统提供的拦截器在过滤链开始处进行请求和相应的拦截;进行后续动作的包装驱动,所有后续的调用都通过当前拦截器进行拦截;当后续的过滤器或业务处理出现业务中断或者错误时,由外层的拦截器进行统一的捕捉;拦截器捕捉到信息后进行统一的格式转换和优化处理,将信息包装成容易识别的友好提示写入到当前连接的响应输出中,并统一设置响应输出的编码格式和成功响应标识;返回到客户端浏览器进行显示。实施例1本发明第一实施例提出了一种基于拦截器的浏览器报错的方法,其流程如图1所示,包括步骤101、获取所述浏览器的返回信息;步骤102、当所述返回信息为报错信息时,拦截该返回信息。本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题。实施例2本发明第二实施例是在前述的第一实施例的基础上改进而来,其流程如图2所示,包括步骤201、获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提示。由于本发明实施例既可以应用于浏览器访问普通标准网页时,也可以用于访问服务器端程序,以与服务器端程序交互数据,服务器端返回的错误信息可能为很多种。因此需要预先获取服务器返回的错误信息的格式,以确定服务器的返回信息是否为错误信息。当然,该步骤只是本发明实施例可选的一个步骤,也可以通过设定服务器的错误信息格式的方式实现。步骤202、获取所述浏览器的返回信息;以微软公司的IE浏览器(Internet Explorer)为例,IE浏览器是通过TCP协议的80端口访问网络的,因此可以通过监听80端口获取IE浏览器收、发的数据包。本发明实施例中可以只提取返回信息。因此步骤202可以具体为监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回信息。步骤203、当所述返回信息为错误信息时,拦截该返回信息。当监听到有发送到浏览器的返回信息时,提取该返回信息并进行解析。由于现有技术中错误信息都是预定格式的,因此步骤203可以具体为步骤2031、获取该返回信息,并对该返回信息进行解析以确定该返回信息的数据内容;步骤2032、将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误信肩、ο拦截该错误信息是为了使浏览器不会获取该错误信息,以防止该浏览器跳转到错误页面。当该返回信息不是错误信息时,本发明实施例中可以不对数据进行处理,直接发送给浏览器。由于步骤2032中拦截了服务器返回的错误信息,因此浏览器不会进行报错。为了使用户知道输入的数据错误或是服务器不可用,本发明实施例中可以通过预设的错误提示显示给用户。该错误提示可以为任何格式,本发明实施例并不对此做出限定。由于步骤 201中已经获取了服务器返回的错误信息,因此很容易通过对每一错误信息预设一个错误提示。即步骤2032中之后还可以包括步骤2033、根据该预设的与错误信息对应的错误提示显示给用户。该错误提示可以为单独设置的一个弹出窗口,该弹出窗口可以通过文本的方式提示用户出错的原因,以使用户修改浏览器中输入的数据。在上述方法中,是通过只拦截错误信息的方式来防止浏览器跳转时造成的数据丢失和操作复杂。当然,这直视本发明实施例的一种实施方法,本发明实施例还可以拦截所有返回信息并进行相应处理;即所述方法包括步骤203’、拦截所述返回信息,并将所述返回信息解析。如果该返回消息为错误信息时,拦截该返回信息,并通过预设的对应的错误提示显示给用户;具体方法可以如前述的步骤203所述,在此不再赘述。如果该返回消息为成功信息时,则将该返回信息进行处理后返回客户端。其中,处理的方式可以为将该返回信息进行统一的格式转换和/或优化处理,将信息包装成容易识别的友好提示写入到当前连接的响应输出中,并统一设置响应输出的编码格式和成功响应标识,返回到客户端浏览器进行显示。当然,这只是本发明实施例的一种实现方法,本发明实施例并不对此做出限定。其中,上述的步骤203和步骤203’中需要通过监听返回信息的方式来确定该返回信息是否为错误信息,可以采用现有的过滤器来实现。现有技术中的过滤器可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统里获得配置的信息,可以过滤掉客户的某些不应出现的词汇,可以验证客户是否已经登录,可以验证客户端的浏览器是否支持当前的应用,可以记录系统的日志等。本发明实施例中可以采用现有的过滤器来实现对返回信息的拦截、解析。本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题。进一步的,还可以通过错误提示的方式将出错原因显示给用户,在不影响浏览器操作的前提下使用户获知出错的原因。实施例3本发明第三实施例提出了一种基于拦截器的浏览器报错的装置,其结构如图3所示,包括获取模块1,用于获取所述浏览器的返回信息;拦截模块2,用于当所述返回信息为报错信息时,拦截该返回信息。本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题。CN 102541891 A
实施例4本发明第四实施例是在前述的第三实施例的基础上改进而来,其结构如图4所示,包括预设置模块3,用于获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提示。由于本发明实施例既可以应用于浏览器访问普通标准网页时,也可以用于访问服务器端程序,以与服务器端程序交互数据,服务器端返回的错误信息可能为很多种。因此需要预先获取服务器返回的错误信息的格式,以确定服务器的返回信息是否为错误信息。当然,该模块只是本发明实施例可选的一个模块,也可以通过设定服务器的错误信息格式的方式实现。获取模块1,用于获取所述浏览器的返回信息。以微软公司的IE浏览器(Internet Explorer)为例,IE浏览器是通过TCP协议的80端口访问网络的,因此可以通过监听80端口获取IE浏览器收、发的数据包。本发明实施例中可以只提取返回信息。因此,获取模块1可以具体包括监听单元11,用于监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回
fn息ο拦截模块2,用于当所述返回信息为错误信息时,拦截该返回信息。当获取模块1监听到有发送到浏览器的返回信息时,提取该返回信息并进行解析。由于现有技术中错误信息都是预定格式的,因此拦截模块2可以具体为解析单元21,用于获取该返回信息,并对该返回信息进行解析以确定该返回信息的数据内容;对比单元22,将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误 fn息ο拦截该错误信息是为了使浏览器不会获取该错误信息,以防止该浏览器跳转到错误页面。当该返回信息不是错误信息时,本发明实施例中可以不对数据进行处理,直接发送给浏览器。由于对比单元22中拦截了服务器返回的错误信息,因此浏览器不会进行报错。为了使用户知道输入的数据错误或是服务器不可用,本发明实施例中可以通过预设的错误提示显示给用户。该错误提示可以为任何格式,本发明实施例并不对此做出限定。由于预设置模块3中已经获取了服务器返回的错误信息,因此很容易通过对每一错误信息预设一个错误提示。即拦截模块2还可以包括提示单元23,用于根据该预设的与错误信息对应的错误提示显示给用户。该错误提示可以为单独设置的一个弹出窗口,该弹出窗口可以通过文本的方式提示用户出错的原因,以使用户修改浏览器中输入的数据。在上述方法中,是通过只拦截错误信息的方式来防止浏览器跳转时造成的数据丢失和操作复杂。当然,这直视本发明实施例的一种实施方法,本发明实施例还可以拦截所有返回信息并进行相应处理;即拦截模块2还可以用于拦截所述返回信息,并将所述返回信息解析。如果该返回消息为错误信息时,拦截该返回信息,并通过预设的对应的错误提示显示给用户;具体方法可以如前述所述,在此不再赘述。如果该返回消息为成功信息时,则将该返回信息进行处理后返回客户端。其中,处理的方式可以为将该返回信息进行统一的格式转换和/或优化处理,将信息包装成容易识别的友好提示写入到当前连接的响应输出中,并统一设置响应输出的编码格式和成功响应标识,返回到客户端浏览器进行显示。当然,这只是本发明实施例的一种实现方法,本发明实施例并不对此做出限定。本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题。进一步的,还可以通过错误提示的方式将出错原因显示给用户,在不影响浏览器操作的前提下使用户获知出错的原因。本发明实施例第三和第四实施例的装置,与前述的第一和第二实施例的方法构思和原理相同,因此在第三和第四实施例中对与第一和第二实施例中相同的部分不再赘述。本发明实施例所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,网站,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器 (RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于拦截器的浏览器报错的方法,其特征在于,包括 获取所述浏览器的返回信息;当所述返回信息为报错信息时,拦截该返回信息。
2.根据权利要求1所述的基于拦截器的浏览器报错的方法,其特征在于,所述获取所述浏览器的返回信息包括监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回fn息ο
3.根据权利要求1所述的基于拦截器的浏览器报错的方法,其特征在于,所述当所述返回信息为报错信息时,拦截该返回信息包括对该返回信息进行解析以确定该返回信息的数据内容;将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误信息。
4.根据权利要求3所述的基于拦截器的浏览器报错的方法,其特征在于,所述方法还包括根据该预设的与错误信息对应的错误提示显示给用户。
5.根据权利要求4所述的基于拦截器的浏览器报错的方法,其特征在于,所述方法还包括获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提
6.一种基于拦截器的浏览器报错的装置,其特征在于,包括 获取模块,用于获取所述浏览器的返回信息;拦截模块,用于当所述返回信息为报错信息时,拦截该返回信息。
7.根据权利要求6所述的基于拦截器的浏览器报错的装置,其特征在于,所述获取模块包括监听单元,用于监听所述浏览器的通讯接口,以获取发送到所述浏览器的返回信息。
8.根据权利要求6所述的基于拦截器的浏览器报错的装置,其特征在于,所述拦截模块包括解析单元,用于获取该返回信息,并对该返回信息进行解析以确定该返回信息的数据内容;对比单元,将该数据内容与预设的错误信息进行对比,如果匹配则拦截该错误信息。
9.根据权利要求8所述的基于拦截器的浏览器报错的装置,其特征在于,所述拦截模块还包括提示单元,用于根据该预设的与错误信息对应的错误提示显示给用户。
10.根据权利要求8所述的基于拦截器的浏览器报错的装置,其特征在于,所述装置还包括预设置模块,用于获取所述服务器返回的错误信息的格式,并根据错误信息的格式设置对应的错误提示。
全文摘要
本发明提出了一种基于拦截器的浏览器报错的方法和装置,属于计算机技术领域。本发明的装置包括获取模块和拦截模块,方法包括获取所述浏览器的返回信息;当所述返回信息为报错信息时,拦截该返回信息。本发明实施例可以通过拦截浏览器的报错信息,使浏览器无法接收到访问服务器时返回的错误信息,因此不会跳转到预设的报错网页。这样可以有效地防止浏览器跳转到报错网页导致的浏览器中输入的数据丢失的问题,也可以解决浏览器跳转到“该页无法显示”页面后只能通过后退键退回到前一页面造成的用户操作复杂的问题,而且错误信息提示友好。
文档编号G06F17/30GK102541891SQ20101059982
公开日2012年7月4日 申请日期2010年12月14日 优先权日2010年12月14日
发明者杨海悌, 邓昌峰, 马振宇 申请人:深圳市金蝶中间件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1