2011-09-27 51 views
2

因此,考慮到以下標記,如果用戶瀏覽器禁用了JavaScript,它們將被重定向到備用頁面,該頁面試圖模擬沒有JavaScript(可能是動態呈現的頁面)的網站功能,或者一個警告頁面,通知必須啓用JavaScript使用網站將JavaScript禁用的用戶重定向

<!doctype html> 
<html> 
<head> 
    <!-- If the browser has javascript disabled, the browser will be redirected--> 
    <!-- to a page that does not require javascript to function, or informs the--> 
    <!-- the user of the requirement for javascript to be enabled--> 
    <noscript> 
     <meta http-equiv="refresh" content="5; url=/warning.html"/> 
    </noscript> 
    <title> 
     Page Title 
    </title> 
</head> 
<body> 
    <script> 
     // rich client logic 
    </script> 
</body> 
</html> 

通過this html5 validator來看還有w3c validator用戶這樣看來,上面是有效的HTML5。我正在考慮使用這種技術來管理沒有啓用JavaScript的用戶,從而無法使用我正在計劃的單頁應用程序,但我之前沒有看到它,並且想知道是否

(a)有任何人(b)任何人都可以提出任何有價值的批評,因爲我爲什麼不考慮使用這種技術?

現在它看起來像一個可行的選項給我,但我並不完全相信潛在的副作用(如瀏覽器不尊重重定向的條件)。

+0

相關問題[

回答

2

任何人都可以提出任何有價值的批評,爲什麼我不應該考慮使用這種技術?

你有一個非常脆弱的系統。如果JS因任何原因失敗,它將徹底崩潰。搜索引擎可以蜘蛛的兩個版本的網站,並鏈接到「錯誤」的人。

所以不要這樣做。使用feature detectionbuild on things that work

+0

只是爲了澄清,我假設你並不是說你認爲JavaScript失敗會導致無腳本重定向被調用(它不會),而是你支持一種開發方法,對吧?搜索引擎優化點是偉大的 - 謝謝你! – VLostBoy

+0

正確。如果JS失敗,那麼你將得到JS不工作的JS版本。 – Quentin

1

我使用這種技術,它工作得很好。我剛加入這一行的沒有JavaScript頁面:

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> 

我用這種方法不同意,並建議逐步增強,但它只是沒有意義的,任何更多這樣做是因爲:

1:大約1%的用戶將禁用JavaScript,其中有更多的工作要支持他們1%以上。 (去年統計數據請參閱:http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/

2:並不總是有任何其他的選擇。

+0

接近兩年後......這是一個很好的觀點。實際上,我將堅持使用無腳本重定向作爲其有效的HTML,並將處理瀏覽器客戶端,而您提供的robor元標記將處理搜索引擎索引的情況。謝謝李:) – VLostBoy