禁用JavaScript之後,你的網站表現如何?

禁用JavaScript之後,你的網站表現如何?

最近要做一個新官網,需求評審完之後,考慮到官網都是純靜態頁面,功能簡單,操起vue-cli3幾秒內創建好了項目腳手架,開發前,我打開了首頁模板文件,看到下面這行字,有了一些思考……

<strong>We're sorry but **** doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>


(ps:四個*是項目名,略去了)

JS最初是用來給界面添加交互的,近幾年,前端火的原因則主要是因爲JS,新技術絕大部分都是基於JS,隨着MVVM框架的興起,前端越來越依賴JS,就像現代工業依賴電力一樣,JS甚至一定程度上替代了HTML,使得前端開發者在開發大型項目上更方便快捷了,目前看起來一切都很好,嗯,事實上真的很好嗎?

我想說什麼呢,回到本文開始的那行代碼,它的作用顯而易見,禁用了JS的用戶去訪問這個網站,就會看到這行提示:當前項目離了JS就跑不起來,請開啓JS後繼續訪問。當瀏覽器禁用了JS,網站變得一片空白,完全無法訪問,這正常嗎?顯然這是不可接受的,從程序的可訪問性、容錯性來評分,這個網站的得分肯定是不及格的!

來看幾家比較知名的企業官方網站,在禁用JS後表現如何?

小米官網 測試日期2018-11-26
小米官網容錯性測試

測試結果:基本功能無法使用,導航顯示但無法點擊
_

魅族官網 測試日期2018-11-26
魅族官網容錯性測試

測試結果:基本功能無法使用,導航不顯示
_

錘子官網 測試日期2018-11-26
錘子官網容錯性測試

測試結果:基本功能無法使用,頁面一片空白
_

測試結果很不理想,會有人說,用戶能禁用JS就能啓用JS,和開發者沒關係,不必爲此做特殊處理。至於需不需要處理,我認爲需要綜合考慮以下兩點

1、從商業角度,想不想讓禁用了JS的用戶正常訪問你的網站甚至成爲你的客戶

2、從開發者角度,考慮開發成本高低,付出和收益是否成正比

上面幾個例子結果不太理想,有沒有做得比較好的企業?

Apple官網 測試日期2018-11-26
Apple官網容錯性測試

測試結果:90%的功能正常使用,導航顯示且可以點擊切換

Apple:不是我多優秀,全靠同行襯托!

果然沒有對比就沒有傷害。同類型的網站,功能大體相同,Apple.com在禁用了JS的情況下仍然可以正常訪問90%的內容,可訪問性優。

其他包括tencent.com、360.com等網站這方面也做的不錯,就不放圖了。


還會有人問,誰會去禁用JS?

禁用JS的場景包括但不限於以下幾個場景

對安全性要求比較高的系統,比如服務器
個人原因禁用了JS(比如爲了不看各種彈出廣告)
瀏覽器廠商因網絡原因禁用JS(Android端Chrome未來在2G網速下將禁用JS)
不管主動禁用還是被動禁用,禁用的原因各種各樣,總結起來無非三點:安全原因、廣告騷擾、網絡限制。

既然JS被禁用的場景客觀存在,在項目開發前,根據項目實際情況考慮以下原則:

根據實際情況選擇合適的技術方案
能用CSS實現的,優先使用CSS

現在MVVM大行其道,但不是什麼項目都適合用MVVM框架,JS熱火朝天,也不能什麼交互都上JS,JS在很多情況下不是必須的,假如要做一個官網,就不建議用單頁應用,用JS做路由,JS掛了,頁面就白屏,另外SEO也是個問題,錘子的官網就是單頁應用。

一般圖片輪播都用JS實現,不考慮低版本瀏覽器的話,CSS3一樣可以做輪播圖,導航下拉效果,完全可以用鼠標hover父級元素display子元素的方式實現(以上三家國產手機廠商都是用的JS),元素定位,大部分情況也不需要用到JS。

今時今日,JS早已經不是用來增加動態效果那麼簡單的腳本語言,它已經成了前端發展最重要的一環,切勿迷失在新技術的紅海里,選擇合適的技術做合適的功能,做之前多做一些思考,這就是我想說的。
原文地址https://www.cnblogs.com/wangmeijian/p/10009645.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章