2009-05-05 98 views
44

爲什麼許多專業網站開發人員總是堅持開發適合JavaScript禁用的瀏覽器的網站?網站是否真的需要迎合未啓用Javascript的瀏覽器?

除了技術負責人和開發人員,大多數「普通」用戶甚至不知道它是什麼。

+1

@SirPsycho令人驚訝的是(從技術的角度來看,有點令人失望)有多少人關掉JavaScript,不知道它是如何得到這種方式,它是什麼,如何處理它,或爲什麼它很重要(除了他們最喜歡的網站將無法正常工作) – 2009-05-05 01:16:13

+0

javascript支持比ie6更進一步,它從Firefox第1天開始...... – Kip 2009-05-05 01:17:25

回答

47

誰使用比Firefox 2或IE6更老的瀏覽器?

錯誤的問題。這不是瀏覽器的年齡問題。有很多新的瀏覽器不支持JavaScript或不支持它,並且它們可能與最新的safari或firefox一樣重要。

其他人提到智能手機或l,,但我的書中的主要是Googlebot。這是一個瀏覽器,就像其他任何瀏覽器一樣,它不會運行大部分的JavaScript。另外,即使你有Firefox,你也可以使用NoScript之類的插件。這與JavaScript禁用時運行的不同,但如果你做錯了事情,你可能真的搞砸了這些用戶(即,在會話開始或創建帳戶時檢測到javascript狀態,然後不再提供javascript即使他們想爲你啓用它)。最後,如果您爲美國政府執行任何工作,則法律要求您支持某些無障礙標準,包括禁用JavaScript。

+14

如果Google無法瀏覽您的網站,那麼+1,您遇到問題 – Kip 2009-05-05 01:18:41

21

我認爲這是一個衆所周知的事實,即有10%的人關閉了JavaScript,所以重要的是要考慮到這一點。如果你覺得你可以安全地忽略10%的觀衆,那麼吹掉它就沒有問題。

+9

+1擊中頭部的指甲。而這10%的細分市場(有些估計接近15!)分成三組 - 那些瀏覽器受政策限制的組織;那些因偏執狂而不能使用JavaScript的人(同樣害怕使用cookies的人);以及那些不知道JavaScript是什麼或者它是否被打開或關閉的人。確定這些組織是否與您的目標市場重疊是非常重要的。 – 2009-05-05 01:12:38

+7

糟糕,我也忘記了那些依賴軟件幫助來導航他們電腦的人 - 那些程序不能識別大多數/所有的JavaScript。 – 2009-05-05 01:14:11

+6

我認爲這個估計有點高。看到這個鏈接: http://stackoverflow.com/questions/121108/how-many-people-disable-javascript 雖然這不是人數,但這是3.05%(並且增長,不縮小,謝謝到智能手機,谷歌和NoScript)的人是比你想象的更重要的類別。 – 2009-05-05 01:18:02

0

比IE6還舊?幾個百分點。比Firefox 2還舊?差不多。

您應該始終預期關閉Javascript的用戶,並容納已啓用Javascript的用戶。

10

手機將是我能想到的首要問題之一。很多移動設備都不擅長通過JavaScript重量級網站工作。考慮到移動設備正迅速成爲頂級互聯網接入點之一,您可能需要重新考慮自己的位置......;)

15

許多面向文本的瀏覽器喜歡Lynxbraille terminals的用戶不支持JavaScript。排除這些人訪問網站是非常不禮貌的。

瞭解Web Accessibility Initiative的更多信息。

編輯: 不要混淆文本瀏覽器Lynx與圖形瀏覽器Links

+0

這不一定是真的;鏈接支持Javascript:http://en.wikipedia.org/wiki/Links_(web_browser) – 2009-05-05 01:15:35

+0

看起來像SO無法自動鏈接最後的括號。替代頁面:http://links.twibright.com/ – 2009-05-05 01:17:26

+2

您是否閱讀過我放在那裏的維基百科鏈接? Quote:「不要與鏈接(網絡瀏覽器)混淆」 – lothar 2009-05-05 01:17:34

3

想想PC之外...很多手機都有不支持JavaScript的瀏覽器。 如果您希望您的網站對他們可見,那麼可能需要付出努力來思考非JavaScript體驗對於這些客戶端的影響。

4

許多人因爲像NoScript這樣的插件的安全問題而禁用Javascript。

1

我每天禁用並重新啓用JavaScript數次,具體取決於我要訪問的網站。例如,喜歡彈出窗口和調整窗口大小的新聞網站,仍然保持着我的身份。

對於普通用戶來說,瞭解這些事情是由神祕的稱爲「JavaScript」並在瀏覽器中關閉的地方完成的,並不需要太多東西。

7

這更多的是一種個人的忌諱,但...

我真的不喜歡它,當加載網頁使用AJAX調用,並沒有爲在另一個選項卡打開窗口提供任何方法其他頁面。例如,在gmail上,如果您想在新窗口中打開您的草稿文件夾,您可以右鍵單擊它並在新窗口中打開。那裏沒問題。

另一方面,如果你想打開聯繫人窗口,沒有非JavaScript方法來做到這一點。因此,您無法右鍵單擊並選擇在新窗口中打開。 該選項不存在!

0

對我來說,它看起來更像是產品經理做出的決定 - 由PM決定產品的外觀和目標受衆是什麼。作爲開發人員,我需要的是「應該在每個瀏覽器中工作」或「應該在大多數瀏覽器中工作」的要求。這不應該來自網絡開發者,除非他決定你的產品應該是什麼樣子,這使他成爲下午。開發人員不需要爲此爭論。

使用您的SaaS併爲此付費的公司是一回事 - 在一個項目中,我們明確表示只支持IE 6-7,客戶對此表示支持。移動瀏覽器上可能訪問的網站是不同的故事。但是在移動瀏覽器中,僅僅在沒有JS的情況下工作可能還不夠,您可能需要簡化頁面佈局並減少圖形的使用。如果你真的需要移動用戶,你可以考慮製作兩個版本的網站,功能齊全的支持JS的桌面,以及針對移動用戶的簡化版本。

當然,你不應該依賴客戶端JS的安全性。

通常我更喜歡交付大多數沒有JS的功能。例如只讀訪問SO並不需要JS。如果用戶真的想發佈問題,那麼讓用戶啓用JS並不難。在沒有JS的情況下發布問題也並不難,只是忘記了類似問題的自動加載。

某些事情可以在JS和服務器端完成,它仍然通常是產品特性而不是技術決定使用哪種方式。例如,投票可以在沒有JS的情況下完成,但會涉及頁面重新加載 - 對用戶和更多流量造成更多挫折。

4

事情的一個簡單事實是,強制使用JavaScript會限制您的受衆。有一天,有人會試圖在沒有JavaScript的情況下運行你的網站。如果他們做不到,他們會打開它,或者心煩意亂,離開。如果他們離開,他們可能永遠不會回來。

1

默認情況下禁用所有腳本,只爲他們需要的站點啓用它,這對於任何互聯網用戶來說至少是推薦的做法。我甚至會說,這是魯莽和不小心粗心。有一些很好的插件可以選擇性地爲選定的網站提供腳本。

這意味着您必須假設您的網站第一次訪問者不允許在其瀏覽器中使用任何腳本。因此,您的網站應該能夠提供一個有用的界面來收集信息,而不需要用戶允許腳本

在我看來,JavaScript應該只用於提供附加的功能,超越了簡單的信息顯示。

我的行爲是這樣的:當我偶然發現一個只顯示「您需要啓用JavaScript」的網站時,我立即重新評估了引導我到那裏的興趣。在某些情況下,我會關閉該標籤。

1

值得擔心一小部分人,或爲實現最佳實踐而努力?無論用戶羣是否受到影響,優秀的失敗都是網站開發者應該投入的。 John Resig在雅虎"The DOM is Messy"的演講爲適應所有瀏覽器和配置的用戶提供了一個很好的例子。

32

幾個月前,我在一個我正在研究的主流百萬會員網站上測試了用戶人數,約有10%的獨立用戶沒有運行Javascript。

考慮顛倒這個問題:值得開發一個僅適用於支持Ajax的用戶的網站嗎?你真的會忽略搜索機器人,大多數手機和一堆其他用戶嗎?

回到基本。首先,使用裸機(X)HTML,根據類似於REST的原則(至少在要求POST請求進行狀態更改時)創建您的站點。簡單的語義標記,忘掉CSS和Javascript。

第一步是爲了讓您的整個網站(或儘可能多的有意義)適用於搜索漫遊器和類似Lynx的用戶代理。

然後添加一個visual圖層:CSS/graphics/media用於視覺打磨,但不會顯着更改原始(X)HTML標記;允許原文純文字網站保持完整並正常運作。保持你的標記清潔!

三是增加一個行爲層:Javascript(Ajax)。爲具有Ajax功能的JS的用戶/瀏覽器提供更快,更流暢,更好的體驗......但只限於那些用戶。沒有Javascript的用戶仍然歡迎;搜索機器人,視障人士,許多手機等。

在網頁設計圈子裏,這叫做漸進增強。這樣做,您的網站以合理的形式適用於所有人。

1

沒有確定的是或否的答案;這一切都取決於網站以及如何使用JavaScript。

基本上,如果你的網站是由谷歌(或任何其他搜索引擎)索引,那麼你會希望網頁的內容只是純HTML,所以任何人都可以輕鬆閱讀;這同樣適用於建立鏈接的常規超鏈接,而不是一些「window.navigate」腳本,以便可以適當地進行跟蹤。但是,如果您的「網站」實際上是一個更復雜的Web應用程序,那麼如果您需要JavaScript支持,則可以爲用戶提供更好的體驗;在這種情況下,您也可能希望創建一個「移動」版本,供不支持JavaScript的移動設備使用,如果這會成爲問題。

大多數情況下,需要JavaScript支持才行,但您仍想記住可能禁用了JavaScript的用戶(或潛在用戶)的百分比,或者完全不支持JavaScript。

另外,例如,StackOverflow.com將JavaScript用於登錄時所做的事情,但不需要JavaScript支持以查看單個頁面,或者鏈接到其他頁面。

6

哇......我想我會成爲第一個這麼說的人,但是......「讓所有停用JavaScript的人都見鬼去吧。」如果您的網站需要 JavaScript才能運行,請忘記所有關閉它的用戶。認真。如果你的網站真的足夠好擔心會失去大量的觀衆,那麼人們開啓JavaScript可能就夠了。關閉JS,看看你能做什麼(而不是一個一大堆)。

網頁瀏覽器正變成一個基於雲的操作系統,而不是「網站」的入口。有很多令人信服的理由允許JavaScript運行,而IMO則有很少的理由不這樣做。對我而言,關閉JS就像在Windows Vista中啓用UAC一樣。是的...它有助於防止你犯錯誤,但是讓它變得很糟糕(但是相反的邏輯......--)。

所以,反正...我可能會得到很多宣傳了這個答案,但我覺得我的原因是聲音和很多令人難以置信的成功網站和Web應用程序進行備份。

只要確保您希望Google(以及大多數其他蜘蛛)編入索引的頁面能夠在沒有JavaScript的情況下被訪問。

1

大多數用戶都不是技術性的,因此他們不知道/關心JavaScript是什麼,所以如果默認打開它,那麼這就是他們使用的。所以,如果他們看到您的網站,並且不起作用,他們就不會回來。

1

通常的原因是:

  • 其良好的SEO實踐,確保內容進行解析,並通過搜索引擎鏈接正確
  • 一些現代網絡功能的手機,不處理客戶端腳本正常
  • 508合規,除了幫助搜索引擎優化,是在一定程度上由大多數政府項目所需
  • 有些人只是因爲任何原因關閉它

一般規則是提供增強的功能,但對於不能使用增強功能集的用戶會優雅地降級。這意味着所有的導航應該可以在沒有腳本的情況下訪問,以及搜索引擎解析的所有內容。

想想SO。問題和答案在服務器端處理併發送到瀏覽器。直到最近,通過javascript向Web服務調用請求按需檢索評論。這意味着無論評論有多棒,它都不會被搜索引擎解析。

1

認爲手機,而不是人們是否打開或關閉JS。有數百萬人在手機上瀏覽網頁(當然不是)。這就是滿足非JS用戶的原因。

0

我通常不會將JavaScript關閉,但我一定要讓他們知道,因爲他們已關閉,某些功能將無法使用。

我認爲如果沒有javascript,它會'破壞'你的網站,但它的可接受的,imo,有一個使用你的網站所需的最低標準。

對於我的網站這個作品...您的觀衆可能有不同的需求。

相關問題