Cómo manejar JavaScript desactivado en AngularJS


AngularJS depende de que JavaScript esté habilitado. Esto significa que si alguien visita una aplicación o sitio web construido en AngularJS no se representará correctamente.

¿Cuáles son las convenciones comunes utilizadas para manejar visitantes con JavaScript deshabilitado cuando se usa AngularJS?

Por favor, explique por qué este es el caso?

Se incluye en el problema el caso de manejar directivas JS angulares y {{data_bindings}}. De modo que los datos no se muestran cuando la página no puede representar el pagina.

Author: Vadim Kotov, 2014-03-07

2 answers

Después de considerar otras respuestas a esta pregunta y " Cómo detectar si JavaScript está deshabilitado?", así como algunas investigaciones adicionales sobre AngularJS.

En primer lugar, querrá ocultar todas las variables mostradas a través de los databindings.

Esto se puede hacer usando ng-cloak que se anexa a una etiqueta HTML.

<div ng-cloak>
    <!-- page content here -->
    {{bound_data}}
</div>

También incluye una etiqueta CSS para ocultar ese elemento.

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}

Entonces querrá que se muestre contenido alternativo para cuando un usuario tenga JavaScript bloqueado o deshabilitado. Esto se hace usando la etiqueta.

<noscript>
    You must have JavaScript enabled to use this app.
</noscript>

Tiene la opción de crear una aplicación con características y funcionalidad reducidas o requerir que el visitante tenga activado JavaScript para poder usar su aplicación.

 33
Author: BrightIntelDusk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:29:47
<NOSCRIPT>
You need Javascript enabled to use this site.
</NOSCRIPT>

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

 13
Author: z5h,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-07 17:16:36