簡體   English   中英

Web開發:我們還需要支持非JavaScript用戶嗎?

[英]Web Development: Do we still need to support non-javascript users?

背景:我正在開發一個電子商務網站。 我的初衷是在常規html頁面上添加JavaScript,以便JS支持的用戶獲得額外的好處,但沒有它的用​​戶仍然可以使用基本的html表單將東西添加到他們的購物車,搜索等。

我遇到過一些情況,其中沒有一種理智的方式以非JavaScript的方式實現某些功能。

一個例子是產品頁面上的鏈式屬性選擇(顏色選擇根據所選尺寸而變化,因為不是所有尺寸都有每種顏色)。 即使我沒有使用AJAX,它仍然需要JavaScript來動態更改選項。

我能想到的唯一JavaScript替代方案是:

A.添加到購物車“向導”,您必須在單獨的頁面上逐步瀏覽每個屬性選項(哎呀!)

B.將每個尺寸/顏色變化作為單獨的產品(並強制客戶趟過類別頁面以找到他們想要的顏色大小組合)

...雖然無論用戶是否使用JavaScript,上述兩種方法都能正常工作,但他們都會通過重組頁面並強制他們使用專為最低公分母設計的界面來懲罰JavaScript用戶。

所以問題是,由於JavaScript在Web開發中的作用比幾年前要大得多,而且AJAX / JS應用程序/站點的設計模式現在與“經典”Web設計模式有很大不同,我們是否還會竭盡全力支持非JS用戶? 或者我們說,“跟你一起去吧!更新你的瀏覽器,打開JavaScript或去其他地方購物”?

我有興趣看到其他開發者對此的看法。

我認為這取決於你的目標受眾。 我在一家擁有多種類型網站的公司工作,有些專注於你的平均玩家或玩游戲的人。 我們的統計數據告訴我們, 絕大多數人都啟用了javascript。

我們還有一個專注於開發人員的網站,其中許多開發人員不允許在網站上運行javascript,除非他們信任它。 我已經看到該網站上多達20-30%的瀏覽器沒有運行javascript。

所以這是非常主觀的。

恕我直言,使用大量有品味的 javascript來增強其他平凡的體驗是非常合理的。 但是,我也認為如果可能,它應該優雅地降級。 只要你在設計時考慮它,這種退化形式(在大多數情況下)並不難實現。

最重要的非JavaScript用戶是Google。 別忘了。

談到像Ajax這樣的東西,或者任何javascript,我覺得最好:

從一開始就規划Ajax; 最后實施Ajax - Jeremy Keith

這意味着攔截(劫持)鏈接和表單使用(不引人注目的)JavaScript使您的代碼在沒有啟用javascript的情況下降級很好。 如果要顯示精美的滑塊,請將其設置為一個鏈接,告訴服務器在您重新加載頁面時顯示div,並告訴您的javascript在單擊鏈接時執行不同的操作。

對於功能齊全但有趣的網站而言,這些想法是您最安全的選擇。

我認為,支持非JavaScript的用戶來說是絕對必要的任何網站瞄准某種“正常”的目標群體(即不是游戲玩家或技術人員)的。

  • 越來越多的移動設備訪問並嘗試解析正常內容。
  • 出於安全原因,許多企業網絡仍然會阻止腳本編寫 - 您也不希望失去偶爾的員工購物。
  • Javascript往往會破壞任何可訪問性的嘗試。 在我看來,創建盡可能易於訪問的網站是對我們人類同胞的服務。

我不是說我是百合白。 討厭在靜態HTML中復制我在JS框架中實現的功能,或者讓它優雅地降級。 但我認為這仍然是必須的,而不僅僅是盈利問題。 這是值得投入一些額外的東西,或者做一些無償的工作。

如果您可以排除不使用javascript的用戶,那么這將是一些移動設備,或真正的偏執狂,以及lynx用戶,以及任何不使用您編寫的javascript版本的用戶。

如果你願意接受,那么我建議你有一個靜態的html頁面,其中包含一些需要javascript的消息。

當你的javascript被加載,並且DOM樹已准備就緒,那么你可以替換這個消息,所以它永遠不會被網頁的其余部分看到。

但是,您可能希望了解如何為非JavaScript瀏覽器獲取功能,即使數量有限。

例如,對於顏色,您可以使用水平下拉列表,該下拉列表可以在除舊版IE瀏覽器之外的所有瀏覽器上運行: http//www.alistapart.com/articles/horizdropdowns/

如果你想使用javascript讓你的生活更簡單,那么這可能是一個不好的理由,但是,如果你正在做一個photoshop webapp,那么你將需要javascript。

注意我建議讓它使用和不使用javascript,因為電子商務網站將不希望排除任何客戶,我希望。

其中很大程度上取決於您的受眾。 正如你多年前所說的,JavaScript以不同的方式使用,甚至有點煩惱。 現在有了AJAX和增強的功能,這是必須的,大多數人都開啟了它。

你可以說有一個禁用Javascript的人被用來填充不經常工作的東西,少數人。

但是,如果您要構建一個舊計算機或帶寬有限的人(例如外國流量)經常光顧的站點,您可能需要考慮解決這些問題。 此外,移動瀏覽器大量訪問的網站可能是另一個需要關注的網站。

查看您的分析,了解當前的用途,並對您的受眾進行簡要介紹。

最佳答案取決於簡單的比較:估算您將花費額外的錢來創建非JavaScript替代網站。 估算您向非支持javascript的客戶銷售產品的資金。 相比。 如果你是一個大商店,那么從最后2%或10%的用戶那里獲得銷售可能是值得的。 如果你只是一個人,也許你有更多有利可圖的方式來度過你的時間。

我找到了這個有趣且事實驅動的帖子,它可能有所幫助。 為什么我們應該支持沒有Javascript的用戶 以下是摘要:

  1. 有些人選擇關閉JS。
  2. JS偶爾失敗,HTML / CSS沒有。
  3. JS旨在並且應該是錦上添花,而不是糟糕的HTML / CSS的補丁工作。

理論上,是的; 但在實踐中,沒有。

從理論上講,它本着網絡的精神,支持具有一系列功能和配置的硬件和軟件,適當地擴展站點功能。

實際上,即使是移動瀏覽器也會聚集在當前主流桌面瀏覽器所占據的最佳位置。 外部用戶通常可以在緊要關頭切換到備用瀏覽器或設備。

雖然對於電子商務網站要求Javascript似乎是合乎邏輯的,漸進的,更簡單的和更有效的,但您應該問自己是否願意放棄非Javascript用戶生成的x%的業務,並權衡降低開發成本。

業務損失的百分比可能不是非Javascript用戶的百分比,因為較少比例的非Javascript訪問者可能購買商品是服務。 丟失業務的百分比可能會略低於非Javascript用戶的百分比。

專注於為大量受眾制作高級功能比花時間為非JavaScript用戶和使用過時平台的用戶找工作更好。

在我看來,在考慮在網站上使用JavaScript時,你必須考慮兩件事:

  • Google仍然可以抓取所有內容
  • 如果網站的某些部分在沒有JavaScript的情況下無法使用,那么請為非JavaScript用戶發出非常明確的消息,為什么您的網站不適用於他們

我認為,我們需要再次支持非JavaScript的用戶。

包括我在內的用戶並沒有因為任何偏執而禁用JS,但是因為現在有些網站JS如此沉重,以至於我的瀏覽器速度變慢了。 最近這種情況越來越嚴重,所以我預計更多用戶最終會這樣做。 我希望我的性能恢復,所以我安裝了瀏覽器插件,讓我有選擇地只啟用網站上絕對必要的腳本。 所以我可以再打開十幾個標簽而不會出現性能問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM