如何处理AngularJS中禁用的JavaScript

时间:2014-03-07 17:11:16

标签: javascript angularjs browser web-applications accessibility

AngularJS依赖于启用JavaScript。这意味着如果有人访问AngularJS中构建的应用程序或网站,则无法正常呈现。

使用AngularJS时,用于处理禁用JavaScript的访问者的常用约定是什么?

请解释为什么会这样?

问题包括处理角度JS指令和{{data_bindings}}的情况。因此,当页面无法呈现页面时,数据不会显示。

2 个答案:

答案 0 :(得分:35)

在考虑了这个问题和“How to detect if JavaScript is disabled?”的其他答案之后,以及对AngularJS的一些进一步研究。

首先,您需要隐藏通过数据绑定显示的所有变量。

这可以使用附加到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以便完全使用您的应用。

答案 1 :(得分:13)

<NOSCRIPT>
You need Javascript enabled to use this site.
</NOSCRIPT>

http://www.w3.org/TR/html401/interact/scripts.html#h-18.3.1