javascript - javascript 网络应用程序遇到错误时的替代内容

标签 javascript web angularjs ember.js discourse

昨天,我去了http://try.discourse.org ,由 Stack Overflow 团队开发的新项目。该项目使用 EmberJs javascript Framework 来请求内容。不幸的是,我的浏览器 (Safari) 在代码中发现了以下错误:

TypeError: 'undefined' is not an object (evaluating 'PreloadStore.get("siteSettings").top_menu')

这个错误的后果是没有显示任何内容;我有一个空白页。 javascript 错误在逻辑上阻止了内容的显示。

我的问题是:

如果在我的浏览器中禁用了 javascript,我可以看到 Dicourse 的内容,因为 <noscript> </noscript> html 中的标记。

但是如果我启用了 javascript 并且遇到错误,我什么也看不到。

那么,在web应用开发中,有没有办法在javascript应用遇到错误时显示无脚本内容或替代内容?

最佳答案

您可以通过覆盖应用程序中的 $exceptionHandler 服务来处理 AngularJS 世界中发生的所有错误: http://docs.angularjs.org/api/ng.$exceptionHandler

AngularJS 防止在 Angular 世界中发生的异常导致浏览器崩溃:)

关于javascript - javascript 网络应用程序遇到错误时的替代内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16902531/

相关文章:

javascript - 现代浏览器不支持"DOMAttrModified"事件?

javascript - 具有固定标题的可调整大小的列表

javascript - 如何在 AngularJS Controller 中执行 if 语句

angularjs - 在相同的Controller Angular Js中将函数调用到另一个函数中

javascript - 元素的高度是视口(viewport)的左边

javascript - 中型设备的设计突破

php - 在js中推送数组看起来无法正常工作

c# - Ajax 幻灯片放映扩展器不起作用

angularjs - 从嵌入元素访问指令的 Controller

javascript - 如何关闭 'yarn develop'?