自动检测Java脚本错误并警告主题用户

时间:2011-08-08 作者:onetrickpony

这听起来可能很简单,但事实并非如此:)

我想要的,很可能是许多主题开发人员(使用javascript/jquery的主题)是警告主题用户他的站点有javascript错误。

至少在我的主题中,在大约95%的错误情况下,问题来自过时/写得不好的已安装插件。另外5%来自最新插件与主题之间的冲突。因此,我的消息会建议用户逐个检查他的插件并修复问题。

我找到了一个解决方案,但只针对仪表板(在我的主题设置中)。基本上,我所做的是在iframe中加载主页,并等待5秒钟,等待iframe中的函数document.ready() 向我发送“确定”消息。如果没有出现,我会显示错误(我正在使用postMessage 与iframe文档通信)。

不管怎样,我的问题是我怎样才能在头版也做到这一点?不使用pm,因为它太重(在主题设置中,它没关系,因为它也用于现场设计调整)

其他不可靠的解决方案:

在之后添加消息<body>, 并用javascript隐藏(消息后用js);问题是,检查后可能会出现错误,请在HTML中的任何位置添加消息,然后使用jQuery on document将其删除。准备好的不可接受,因为用户看到消息的时间为2-3秒,在此期间加载站点

2 个回复
SO网友:user10418

为什么不使用浏览器的“开发人员”工具来显示错误和导致错误的代码?我知道IE、Firefox和Safari都有可用的开发工具(我一直在使用它们)——我不知道其他浏览器的功能。

SO网友:patnz

只是快速搜索了一下JavaScript是否具有全局错误处理功能,您可以使用并找到该功能window.onerror. 因此,我没有进一步查看它是否得到了很好的支持,但您可能可以使用该窗口。onerror函数向php发送ajax请求,该请求可以发送页面、浏览器、可能失败的脚本信息等。然后使用php通过电子邮件向管理员发送此信息。这样,任何查看该网站的用户都可能触发该事件。

结束

相关推荐

将jQuery函数添加到管理页面

我需要在admin中的post/page编辑器中添加一些文档就绪jQuery。我正在破解一个旧插件,该插件向编辑器页面添加一个文本框,并处理将该文本插入模板文件的操作,但文本输入仅为html;此document ready函数将mceEditor类添加到文本框中。当我手动将其包含在admin标头中时,此函数会起作用。php,但我当然不能这样做。我不认为我需要把它排队,因为它不是图书馆。还是我?如果适用的话:不同的添加方式有哪些优点/缺点?那么,如何将其挂接或以其他方式加载到admin中的帖子/页面编辑器中