昨天,我去了由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应用遇到错误,有没有办法显示无脚本内容或替代内容?
答案 0 :(得分:1)
您可以通过覆盖应用程序中的$ exceptionHandler服务来处理AngularJS世界中发生的所有错误: http://docs.angularjs.org/api/ng.$exceptionHandler
AngularJS可防止角度世界中发生的异常导致浏览器崩溃:)