如果javascript Web应用程序遇到错误,则替代内容

时间:2013-06-03 17:35:23

标签: javascript web angularjs ember.js discourse

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

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

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

我的问题是:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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