2009-11-17 49 views
21

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

雖然我遇到了幾種情況,但其中並不存在一種以非JavaScript方式實現某些功能的方式。

一個示例是產品頁面上的鏈接屬性選擇(其中顏色選擇根據所選尺寸進行更改,因爲並非所有尺寸都以各種顏色顯示)。即使我沒有使用AJAX,它仍然需要JavaScript來動態更改選項。

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

A.有一個放入購物車「精靈」,你必須逐步完成每個屬性選擇一個單獨的頁面(呸!)

B.把每個大小/顏色變化作爲一個單獨的產品(並迫使客戶通過分類頁面涉水找到他們想要的顏色大小組合)

...雖然上述兩種會無論用戶是否使用JavaScript,他們都會通過重構頁面和forci來懲罰JavaScript用戶讓他們使用爲最低公分母設計的界面。

所以問題是,由於JavaScript在網站開發中的作用比幾年前更大,而AJAX/JS應用程序/網站的設計模式現在與「經典」網頁設計模式,我們是否仍然用我們的方式來支持非JS用戶?或者,我們是否說:「與你碰面!更新你的瀏覽器,打開JavaScript或去其他地方購物」?

我很希望看到其他開發者對此採取行動。

回答

15

我認爲這取決於你的目標受衆。我爲一家擁有多種類型網站的公司工作,其中一些專注於你的平凡傢伙或加入遊戲的加利福尼亞。而且我們的統計數據告訴我們,這些人中的大多數人已經啓用了javascript,其中廣大的

我們也有一個專注於開發人員的網站,許多開發人員不會允許JavaScript在網站上運行,除非他們相信它。我看到該網站上多達20-30%的瀏覽器不運行JavaScript。

所以這是非常主觀的。

恕我直言,這是非常合理的使用大量的雅緻的 JavaScript來提高一個否則平凡的經驗。但是,我也認爲,如果可能的話,它應該優雅地降級。只要您在設計事物時考慮到這種情況,就不會太難實現(在大多數情況下)。

+6

如果能夠知道誰是有問題的人「禁用javascript,按照說明,它將只是工作」是一個偉大的臨時解決方法,使他們能夠得到他們的東西做,你可以真正解決問題,而不「的整個網站都停了!整個組織都癱瘓!「所以:優雅的降級或蕭條。 – 2009-11-17 01:44:32

+1

我同意這是非常重要的,當然有些應用程序,JavaScript的要求只是讓事情變得更有可能。像谷歌地圖一樣。 – 2009-11-17 02:06:41

+0

我完全同意。處理這種事情的最好方法是使用不顯眼的JavaScript。 – 2009-11-17 02:18:36

4

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

如果你願意去那個,那麼我會建議你有一個靜態的HTML頁面,有一些消息,JavaScript是必需的。

當你的JavaScript被加載,並且DOM樹已經準備好了,那麼你可以用這個消息替換這個消息,所以它從來沒有被看到,與網頁的其餘部分。

但是,您可能希望瞭解如何獲得非JavaScript瀏覽器的功能,即使有限也是如此。

例如,對於顏色,你可以使用水平下拉菜單可以在所有但舊的IE瀏覽器中工作:http://www.alistapart.com/articles/horizdropdowns/

如果要使用JavaScript,使您的生活更簡單那麼這可能是一個貧窮的原因,但,如果你正在做一個photoshop網絡應用程序,那麼你將需要JavaScript。

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

2

其中大部分取決於您的受衆。正如你在多年前所說的那樣,JavaScript被以不同的方式使用,甚至有點惱人。現在,隨着AJAX和功能的增加,這是必須的,大多數人都開啓了它。

你可以說Javascript被禁用的人被用來不經常工作的東西,還有一小部分人。

但是,如果您正在構建一箇舊電腦或有限帶寬人員經常光顧的站點(例如外部流量),則可能需要考慮解決這些問題。另外一個被移動瀏覽器嚴重訪問的網站可能是另一個需要關注的網站。

看看你的分析結果,看看目前的用法是什麼,然後分析你的觀衆,以真正發現。

2

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

5

我認爲支持非Javascript用戶對於任何針對某種「正常」目標羣體(即不是遊戲玩家或技術人員)的網站來說都是絕對必需的。

  • 有越來越多的移動設備訪問,並試圖解析正常的內容。
  • 由於安全原因,許多公司網絡仍然阻止腳本 - 您不想失去偶爾的員工從工作中購物。
  • JavaScript傾向於擰任何可訪問性的嘗試。在我看來,創建儘可能接近的網站是爲我們的同胞服務的。

我不是說我在這個上是百合白。我討厭複製功能,我剛纔在我的JS框架中實現了靜態HTML,或使其優雅地退化。但我認爲它仍然是真的,真的是必須的,而不僅僅是一個盈利問題。這是值得投入一些額外的東西,或將一些無償工作付諸東流。

+1

輔助功能也是我們的同伴機器人的一項服務,例如,谷歌。 – 2009-12-22 18:03:41

13

當涉及到的東西像阿賈克斯,或與此有關的任何JavaScript,我認爲這是最好的:

阿賈克斯從一開始

計劃;實現Ajax末 - Jeremy Keith

這意味着攔截(劫持)鏈接和形式使用(不顯眼)的JavaScript使你的代碼,以及降低對那些沒有啓用JavaScript的。如果你想顯示一個花哨的滑塊,使它成爲一個鏈接,告訴服務器在你重新加載頁面時顯示div,並告訴你的JavaScript在點擊鏈接時做不同的事情。

這些想法是一個功能強大但有趣的網站最安全的選擇。

0

儘管爲電子商務網站要求使用Javascript的邏輯性,漸進性,簡單性和高效性,您應該問自己,是否願意放棄非Javascript用戶生成的業務的百分之十,並對較低的開發成本進行權衡。

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

1

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

從理論上說,它支持硬件和軟件的一系列功能和配置,適當地擴展站點功能,這符合網絡的精神。

實際上,即使是移動瀏覽器正在聚合在當前主流桌面瀏覽器所佔據的甜蜜點上。外面的用戶通常可以切換到另一個瀏覽器或設備。

14

最重要的非JavaScript用戶是Google。不要忘記這一點。

+0

+1 http://www.peterbe.com/plog/google-is-blind – 2010-03-13 11:03:39

+0

你是什麼意思?谷歌是一個用戶? ':-)' – Shafizadeh 2016-02-07 11:05:25

0

專注於爲大量觀衆製作高級功能比花時間爲非JavaScript用戶和使用過時平臺的人員尋找解決方案要好。

0

在那裏我看來,兩件事情你有想在網站上使用JavaScript時要考慮:

  • 是谷歌仍然能夠如果網站的某些部分不能用來抓取所有內容
  • 沒有JavaScript,然後爲非JavaScript用戶做出非常明確的信息,爲什麼你的網站沒有爲他們工作
2

我發現這個有趣和事實驅動的帖子,它可能有幫助。 Why we should support users without Javascript。以下是一個總結:

  1. 有些人選擇關閉JS。
  2. JS偶爾失敗,HTML/CSS不會。
  3. JS的設計和應該是錦上添花,而不是壞HTML/CSS的補丁。
+0

+1真棒帖子,總結了一直以來我一直試圖用紮實詞彙來表達的一切。添加了一個TL; DR回顧了你的答案;隨意編輯或whatev。 – 2014-04-27 02:57:34

0

我認爲我們需要支持非JavaScript的用戶再次

有網友包括我誰也不對任何一種偏執的禁用JS,但是因爲一些網站是如此沉重的JS現在我的瀏覽器變慢嘎然而止。而且這個最近變得更糟了,所以我希望更多的用戶最終會這樣做。我希望我的性能能夠恢復,因此我安裝了瀏覽器插件,讓我可以選擇性地啓用網站上絕對必需的腳本。所以我可以再打開一打選項卡而不會出現性能問題。

相關問題