AngularJS依赖于启用的JavaScript。这意味着,如果有人访问用AngularJS内置的应用程序或网站,它将无法正确呈现。
使用AngularJS时,用于处理禁用了JavaScript的访问者的常用约定是什么?
请解释为什么会这样?
问题包括处理有 Angular 的JS指令和{{data_bindings}}。这样,当页面无法呈现页面时,数据就不会显示。
最佳答案
在考虑了该问题的其他答案和“How to detect if JavaScript is disabled?”以及对AngularJS的一些进一步研究之后。
首先,您将要隐藏通过数据绑定(bind)显示的所有变量。
这可以使用附加到HTML标记的ng-cloak来完成。
<div ng-cloak>
<!-- page content here -->
{{bound_data}}
</div>
它还包括一个CSS标记以隐藏该元素。
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
然后,您将希望在用户阻止或禁用JavaScript时显示替代内容。这是使用标签完成的。
<noscript>
You must have JavaScript enabled to use this app.
</noscript>
您可以选择创建功能和功能减少的应用程序,或者要求访问者启用JavaScript才能完全使用您的应用程序。