昨天,我去了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/