什麼?禁用JavaScript 難道不是項目交付前的測試流程嗎?
開個玩笑~
首先這個特性和GFW沒有一毛錢關係
其實在國內環境,談到網站的遊客使用類功能(比如閱覽、查看分類等),瀏覽器對JavaScript的依賴程度有三個階段
1、94年~09年:低;無需JavaScript【貼題】
網站麼,打開了用眼睛看就完事兒了
2、09年~14年:中;沒有JS基本可用,但一些體驗性交互會無效,比如Google圖片
- 開啟JS:不斷向下滾動頁面就可自動加載更多圖片
- 關閉JS:必須重複點擊“下一頁”刷新頁面才能查看新圖片列表
3、14年~20年:高;不支持JavaScript?白屏接好了您嘞!
所以在上古時期,JavaScript根本不是瀏覽網站的必需品。實際上面向大眾的第一款瀏覽器Netscape在94年發佈1.0版本時,這個星球上還不存在JavaScript。
直到一年後的95年,JavaScript才由僱員布蘭登·艾奇發明出來
又到一年後的96年,才正式內置在Netscape 2.0 裡
這以至於後面很長一段時間,瀏覽器設置裡的JavaScript支持甚至都是可選開啟的
至於Netscape和IE瀏覽器的相愛相殺和IE的一統天下,就是另一篇番外了
JavaScript的面世就像打翻了的潘多拉魔盒
大量使用催生了技術升級和依賴,21世紀第一個十年的後半葉,Gmail、Google Map、Web2.0、Ajax等名詞在國內日漸火熱
大家越發不能忍受每次瀏覽器內容更新都要刷新頁面
也部分包括了題主提到的【點擊】功能,12年在百度時,主要頁面仍是前端套VM模板生成網頁主體由瀏覽器加載
因為本質是技術革新,所以從各互聯網巨頭開始了一場自下而上的異步化運動
- 有內容更新?交給JavaScript重繪!
- 有界面變化?交給JavaScript局部切換!
- 有數據上傳?交給JavaScript晾一邊提交!
- 有用戶來訪?交給JavaScript組織首屏!
多種使用元素的加入也讓單純的網頁瀏覽升級為富客戶端應用甚至之後的SPA(single page application)應用
那為什麼還會有脫離JavaScript環境的瀏覽場景呢
基本上有B端、C端兩塊因素導致
被動的C端
用戶出於安全性考慮(雖然大部分情況都是多慮了),比如XSS攻擊,CORS漏洞等
用戶通過此阻止某些類型的廣告加載。 雖然不鼓勵屏蔽廣告,但即使需要也有其他方式達成
主動的B端
一些國外大站依然很關注自身在無JavaScript環境下的優雅降級
通過腳本或條件註釋偵測到當前瀏覽器環境不支持JavaScript時,就單純依靠HTML和CSS輸出核心內容,這個特性甚至是需要QA團隊驗證通過才能release的
顯然,著名的同性答疑網站stackoverflow也做到了這點
閱讀更多 核酸半邊 的文章