网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 网页素材 > AJAX代码 > 正文
为AJAX应用程序构建一个错误提交系统
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 09/04/15

摘要 当一些应用程序崩溃时,它们往往向用户提供一个机会来提交关于该错误的信息。该信息能够帮助开发者追踪并修正错误。本文将向你展示如何在你的JavaScript/AJAX应用程序中实现这样的功能。

  一、 引言

  如果可以存取终端用户的计算机的话,那么终端用户的JavaScript错误就很容易调试。既然你不能实现这样的操作,那么你可以采取下面这样的措施:让用户向你发送你修正该问题需要的内容。

  当象Mozilla浏览器这样的应用程序崩溃时,它们会启动一个错误提交程序。这些程序将询问用户是否愿意提交错误报告。如果用户愿意的话,该程序将要求他们输入有关他们的程序崩溃时的尽可能多的信息。这个信息,连同该错误提交程序自己的分析数据,一同提交到电子邮件中心以便开发人员和工程经理读取分析。

  这种功能对于开发者是极其有用的。既然该程序运行于客户端机器上,这是唯一取得有关于开发者不能在他们自己的开发系统上重新生成相同的错误信息的方式。他们还能够监视该特定的错误的频率和严重性以便决定应该首先修正哪些错误。

  本文将向你展示如何在JavaScript/AJAX程序中支持这种错误提交功能。当在你的代码中发生一个错误时,该系统将弹出一个用户能够提交错误信息的窗口。

  二、 问题

  如何在我的JavaScript/AJAX应用程序中安装一个用户错误提交程序

  三、 解答

  把代码放到一个包装程序中,该包装程序允许用户提交一个包含详细错误信息的电子邮件。

  (一) 捕获错误

  下列文件被包括在本文相应的下载源代码中,你可以利用它们来实现上面的解决方案:

  ·talkback.js-这个文件包括本系统的完整源码

  ·test.html-一个使用talkback.js来处理一个发现错误的示例脚本

  这里的test.html页面包含一些JavaScript代码,其中抛出一个异常。这个页面把函数fun_a()安装为body部分的onload处理器。该fun_a()函数又调用fun_b(),fun_b()又调用fun_c()。最后,fun_c()存取一个不存在的对象中的不存在的域,并触发一个真正的JavaScript异常。

  首先,在用户能够看到这个错误之前你需要捕获它。这样以来,你就能够使用户有一个机会来提交错误信息;但是,你不想让他或她的看到任何其它内容。我们的目标是尽量减少该错误向用户暴露的内容。

  这是很容易实现的。假定主程序可以经由下列函数激活:

function fun()
{
 //程序在此.
}
fun = tb_wrap( fun);

  请注意这里对tb_wrap()的调用。这样以来,就可以把fun()函数放到一个能够捕获任何异常并且处理它们的包装器中。而且,这样以来,该用户就不会看到任何发生在fun()中的异常。

  (二) 收集错误信息

  一旦你捕获了错误,那么你需要提取尽可能多的信息。你把越多的错误数据发送回开发者,他们越有可能发现并修正该错误。

  遗憾的是,根据用户运行的浏览器不同,错误对象具有不同的属性。大多数情况下,你能够依赖name和message属性。注意,stack属性中包含一个极其有用的栈踪迹,只是它仅可用于最近版本的基于Mozilla的浏览器中。
 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
湘ICP备09003080号