2011-06-18 131 views

回答

10

是否有不支持JavaScript的Web瀏覽器?

當然。 Lynx只是一個例子。

以及如何識別客戶端是否正在使用這些瀏覽器之一?

使用<noscript>標記提供備用內容。

或客戶端已禁用了JavaScript?

與以前相同的答案:使用<noscript>標記。

如果用戶正在使用的X或Y的瀏覽器你不應該測試。始終執行功能檢測。第一步:使用<noscript>爲不支持JavaScript的客戶端提供備用內容。然後測試客戶端是否支持您要使用的功能。從來沒有測試,如果IE8或FF3或別的東西,...

Modernizr是可以幫助您解決這一個很好的框架。所以,如果你想使用一些新的酷HTML5功能,不要測試瀏覽器是否是這樣和那樣的版本:測試瀏覽器是否支持你想要使用的功能。

1

所有現代主流瀏覽器都支持JavaScript。然而,有些不這樣做,但是相對於主要的用戶羣而言,卻有着令人難以置信的小用戶羣。有些用戶可能會禁用JavaScript,在這種情況下,您可以爲使用noscript標籤的用戶指定不同的內容。

0

你使用任何JavaScript框架? (jQuery,原型...)他們可以抽象出很大一部分瀏覽器特性。

檢測用戶的瀏覽器,你可以使用導航對象:http://www.javascriptkit.com/javatutors/navigator.shtml

而且,隨着詹姆斯和達林指出,你可以使用<noscript>標籤的替代內容。

2

就好像你會使用CSS:

許多加入no-js<html>標籤如..

<html class="no-js"> 

而且它們由JavaScript後更換no-jsjs,如..

<script> 
    document.documentElement.className = document.documentElement.className.replace('no-js','js'); 
</script> 

因此,當客戶端已禁用了JavaScript。

使用例:

HTML:

<div class="test">This box with some JS function</div> 

CSS:

.no-js .test {display:none;} 

隱藏此框,當客戶端已禁用了JavaScript。

或..

HTML:

<div class="alert">Please, turn you JS on!</div> 

CSS:當JS是

.js .alert {display:none;} 

隱藏警告框。但仍然表明,當JS如果關閉..

或做更多...與no-jsjs類..

如果您尋找HTML標記檢測:

只是<noscript></noscript>又如