web-dev-qa-db-ja.com

AngularJSで無効になっているJavaScriptを処理する方法

AngularJSは、有効になっているJavaScriptに依存しています。つまり、AngularJSで構築されたアプリケーションまたはWebサイトに誰かがアクセスした場合、正しくレンダリングされません。

AngularJSの使用時にJavaScriptが無効になっているビジターを処理するために使用される一般的な規則は何ですか?

これが事実である理由を説明してください。

問題に含まれるのは、angular JSディレクティブと{{data_bindings}}を処理する場合です。これにより、ページがページをレンダリングできないときにデータが表示されなくなります。

33
BrightIntelDusk

この質問の他の回答と「 JavaScriptが無効になっているかどうかを検出する方法 」、および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を有効にするよう要求するかを選択できます。

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

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

13
z5h