本文将演示如何使用XMLHttpRequest来添加一些以前不可能的、行不通的特性,它同时还减少了错误,提高了产品质量……
类的最后一部分建立了一个Logger类实例。这个类应该只有一个实例。
| // 只有一个日志记录器实例 var logger = new Logger(); |
最后的两个函数只是用于琐碎事务管理的。如果在记录错误的时候出现了问题,除了干扰用户之外,我们几乎不能做任务事务。但是,这种情况永远不会出现。这些不是类的方法,因为事件没有指向我们的对象的指针,但是它会指向我们建立的logger实例。
| // 我们试过了,但是连接错误,没有希望了 function abortLog() { logger.req.abort(); alert("Attempt to log the error timed out."); } // 请求的状态发生改变的时候调用 function errorLogged() { if (logger.req.readyState != 4) return; window.clearTimeout(logger.timeout); // 请求完成了 if (logger.req.status >= 400) alert(’Attempt to log the error failed.’); } |
前面的所有代码都被包装到一个.js文件中了,我们可以在站点的任何(或每一个)页面中包含这个文件。下面是如何包含这个文件的例子:
<script type="text/javascript" src="Logger.js"></script> |

