沒有JavaScript,你的網頁會是啥樣?
現在很多網站使用了JavaScript,它讓交互響應更加靈敏,也增強了所謂的“用戶體驗”。盡管它是一門很簡單的程序設計語言,但由于現在Web應用程序越來越多,JavaScript的地位也變得越來越重要。不過,在享受JavaScript和衍生的庫的同時,你想過如果沒有JavaScript,你現在的網頁看起來是什么樣子?
我的博客使用了jQuery的一些功能,顯然它是基于JavaScript的。我關掉了瀏覽器的JavaScript引擎,打開博客,幸好沒有變形——廣告無法顯示,這不是我能控制的。
“文章”菜單不能顯示,因為我是通過jQuery注冊hover事件實現彈出的;“回頂部”的按鈕也無效了,當然這影響不大。
在完成應用JavaScript之前(或者之后?),我們應該思考一下如何聰明地使用JavaScript ,從而確保不會因為它的緣故使任何人無法訪問你的網站。這就是非干擾性的JavaScript背后的核心理念。
為了更好地理解什么是非干擾性JavaScript 以及我們為什么需要它,我們先來看看在JavaScript 程序設計中會碰到哪些不確定性因素:
◆因為某些瀏覽器不支持JavaScript 或它們的支持的JavaScript 版本太老了,這些瀏覽器可能會完全忽略你的腳本;
◆即使一個瀏覽器可以支持JavaScript ,用戶們也可能會出于安全性的考慮而禁用 JavaScript ,用戶所在公司的防火墻也可能會通過移除所有的 <script> 標簽來阻止 JavaScript 的運行;
◆即便一個瀏覽器支持JavaScript ,它也可能不理解DOM規范中的某些瀏覽器專有特性(IE經常被認為是這方面的禍首),這會導致該瀏覽器無法理解你的部分腳本;
◆即便是腳本能得到正確地解釋,它也可能要依賴于非常復雜的HTML ,并且/或者依賴于可能以無法預測的方式被改變的HTML ;
◆就算JavaScript腳本運行在完美無誤的HTML中,你也不能確定你的用戶將會用什么類型的輸入設備。許多腳本只有在用戶使用鼠標時才會生效,而對那些使用鍵盤的人群則沒有反應(許多殘障用戶無法使用鼠標,而且有的人偏偏喜歡用鍵盤);
◆即使你的腳本回避了上述的所有風險而且運行得很好,其他的程序員們也有可能讀不懂它。
如果網頁中的關鍵內容是由JavaScript控制的,一部分用戶將不能正常的使用你的網站,或者丟失重要訊息。
如果某些內容由JavaScript控制,在 JavaScript 無法正常工作的時候,我的方法是通過 CSS 設定好樣式,讓他看起來是正常的。
這里有一個jQuery滑動導航條的例子(Demo1, Demo2),Demo1乍看之下是正常的,但如果關閉了JavaScript,所有的項目會擠到一團,因為所有的列表項都是絕對定位的,需要由JavaScript運行時動態確定高度;Demo2中只做出了簡單的修正,使得它在JavaScript運行前保持相對定位,就能使它在沒有 JavaScript的狀況下表現正常。
這個例子盡管簡單,但有時候我們就是為了方便(也是假定了JavaScript永遠工作)讓JavaScript參與重要元素的排版,這是要盡量避免的。
原文鏈接:http://beamnote.com/2010/without-javascript.html
【編輯推薦】