2010-05-13 164 views
1

有什麼辦法通過C#代碼檢測JavaScript是啓用還是禁用?如果我使用JQuery開發網站,如果JavaScript未啓用,那麼我該怎麼辦?我應該如何處理它?檢測JavaScript是否啓用

回答

5

C#無法確定這一點。 C#在服務器上運行並將輸出發送到客戶端。它不知道客戶端是否能夠/願意運行JavaScript。

此外,腳本永遠也不會真正知道這一點,因爲它不會被執行。

您可以對殘疾人JavaScript進行「反應」的唯一方法是使用<noscript>標籤向您的用戶建議您的網站需要使用JavaScript。

你可以在StackOverflow上看到這個例子。關閉JavaScript,刷新頁面,你會看到:

<noscript> 
    <div id="noscript-warning">Stack Overflow works best with JavaScript enabled<img src="http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno"></div> 
</noscript> 
0

This article在CodeProject有檢查它爲你實現,但據我可以看到它需要初始往返回瀏覽器檢查是否啓用了JavaScript。 我沒有嘗試過自己,所以我不能告訴你它是否有效,但我認爲沒有理由不應該。

我希望這能以某種方式幫助你。

1

您可以使用的最佳方法是採用'progressive enhancement'策略來構建您的應用程序。使用javascript來增強可用性的最佳方式是在沒有它的情況下開始。

如果你想要一段代碼來檢測重定向到一個沒有啓用JavaScript的網頁,然後ü可以用一個簡單的方法,用含有如下內容來檢測和用戶重定向到u需要,其中一個簡單的頁面:

1.-一個重定向到頁面的META頭,每當用戶沒有啓用javascript時,該頁面就會處理。 2.-內容中的腳本將'位置'更改爲另一個頁面,每當用戶啓用JavaScript時,該處理器都會處理該位置。

一個簡單的頁面看起來像


<html> 
    <head> 
     <title>Sample Page</title> 
     <meta http-equiv="refresh" content="2;url=/page_no_javascript_enabled.aspx" /> 
     </head> 
    <body> 
     <script language="javascript" type="text/javascript"> 
      document.location='/page_with_javascript_enabled.aspx'; 
     </script> 
     <h1>Please wait ...</h1> 
    </body> 
</html>