4

我正在使用 PHP 和 Yii 组合一个企业应用程序。我想要一种简单的方法让用户在出现问题或错误时报告问题,但是我很难确定捕获/记录系统状态以帮助复制问题的最佳方法。

我一直在寻找一个扩展或库,它集成了所有东西,但可能不存在。否则我需要寻找一种方法来序列化 DOM 以供以后评估或类似的其他方法。

因此,用户可以单击“报告错误”按钮,该按钮捕获站点的状态并弹出一个带有“发生了什么?”的弹出框。用户可以填写的文本框。

我有什么选择来做到这一点?

4

2 回答 2

4

看看Airbrake(以前称为 Hoptoad)及其php notifier。默认情况下,它们不会保存完整的 DOM 代码,但我认为您可以扩展通知程序来做到这一点。

要允许用户触发报告,您可以使用 ajax 和自定义异常。

他们有免费的计划,而且设置很容易。

在此处输入图像描述

于 2011-09-22T23:07:29.603 回答
1

要获取当前页面的 HTML 源代码,您可以使用以下 Javascript 片段:

var htmlSource = document.getElementsByTagName('html')[0].innerHTML;

您可能要保存的另一条信息当然是当前 URL。jQuery.post您可以使用例如将所有这些发送到服务器

$.post("<?php echo CController::createUrl(...); ?>",
       {
           url: document.location.href,
           html: document.getElementsByTagName('html')[0].innerHTML,
       });

如果没有某种可以调用的服务器端助手,我认为你不能做更多的事情。您究竟需要这个错误报告功能来实现什么功能?

于 2011-09-22T22:41:31.730 回答