2014-03-07 28 views
29

AngularJS依賴於啓用JavaScript。這意味着如果有人訪問AngularJS中構建的應用程序或網站,它將無法正確呈現。如何處理AngularJS中禁用的JavaScript

在使用AngularJS時,用JavaScript處理訪問者的常見約定是什麼?

請解釋爲什麼會出現這種情況?

包含在問題中的是處理angular JS指令和{{data_bindings}}的情況。這樣數據不會顯示頁面何時無法呈現頁面。

+2

「最好」的方式在很大程度上取決於網站的目的和受衆。 – Pointy

+0

我已經更新了問題,以便更適合我正在尋找的答案。 – BrightIntelDusk

回答

32

後考慮這個問題,「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以便使用您的應用程序。

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

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

+3

也可以在'

+0

渲染後出現的所有角標記怎麼樣?解決方案有更多的信息,我覺得你沒有做到。 – BrightIntelDusk

+1

@IntegrityFirst Um。它是AngularJS。它需要JS。沒有辦法解決這個問題。 –

相關問題