2010-08-19 26 views
4

我已經開發了幾年的Web應用程序。我面臨的其中一個問題是必須開發JavaScript應用程序未啓用或不可用的Web應用程序。我知道這是幾年前的一個問題,但很想知道其他網頁設計師和開發人員對此問題的看法?這仍然是一個問題?Javascript未啓用

我問這個問題的原因是因爲在我看來,我們只是迎合現在幾乎不可能發生的情景。這對於面向公衆的網站和Web應用程序尤其如此?我的評估是否正確?我很想知道其他網絡開發人員和設計師的經驗和任何學習

謝謝。

回答

2

我會建議您儘量確保您的網站的基本功能沒有JavaScript可用。

如果以這種方式工作,即使您或其他開發人員允許不完善的JS進入生產站點,您也會得到一個可以工作的網站 - 嚴重的JS錯誤不一定會是一個完整的展示瓶塞。

此外:AJAX,效果和其他絨毛可以採取aaaaaaages進行調試。用戶不介意簡單。你應該瞄準簡單,並慢慢添加花裏胡哨,用戶測試,因爲你添加,以避免創建一個AJAXeffectsFluffy廢話堆混亂和越野車...

2

即使在今天,有些人(包括我自己)有JS轉身默認關閉。專業構建的網站要麼警告禁用功能,要麼在沒有JS的情況下工作(通過完整頁面重新加載)。

1

漸進式增強!我花了很長時間在AJAXd網站上花費太多時間來瀏覽JS,所以我幾乎總是瀏覽JS,所以在添加JS功能之前,總是從簡單的頁面加載表單開始。

像jQuery,mootools等JS框架越來越受歡迎,因爲幾乎任何人都可以製作帶有動畫的「閃亮」網站。但我認爲,越多的人開始使用這些工具,那麼任何常規瀏覽器都不太願意啓用JS。

2

+1進步增強。這就是你擁有基本的,非浮華的功能,並帶有直接的HTML/CSS,然後獲得JavaScript代碼來補充或替換自己的功能。例如,如果您在頁面上進行頁面導航,該頁面包含頁面1,頁面2等的簡單超鏈接。

<div class="paging"> 
    <ul> 
     <li><a href="?page=1">1</a> 
     <li><a href="?page=2">2</a> 
     <li><a href="?page=3">3</a> 
    </ul> 
</div> 

然後你不得不JavaScript功能,看起來你div.paging元素,完全的東西更優雅,例如(在僞代碼)

$('div.paging').each(function() 
{ 
    $(this).find('ul').remove(); 
    $(this).append(renderAdvancedPaging()); 
}); 

至於什麼可以被替代取代它,它可能是谷歌圖片風格無限滾動(是的,我知道必須先),或Twitter的在底部有一個大的下一頁按鈕的方法,動態地附加下一組結果(看看http://twitter.com/codinghorror - 向下滾動並單擊'更多')。

這種「漸進增強」的做法的好處是:

  • Works的誰禁用了JavaScript的人,這包括精明的用戶,而用戶在很大程度上鎖定了企業內部網的工作。
  • 輔助功能:帶屏幕閱讀器的盲人用戶仍然可以使用您的網站。
  • 搜索引擎不會在您的頁面上執行任何JavaScript,您仍然可以跟隨您的分頁鏈接並索引這些頁面的其他內容。

如果你關心SEO,最後一點應該是最重要的。


有很多次,然而,當你可以合理地忽略逐步增強,並建立一個網站依賴於JavaScript的,否則將無法正常工作。您通常會爲高級「Web應用程序」或移動優化的網絡應用程序執行此操作,例如Google Maps,日曆應用程序,使用<canvas>元素的HTML5繪圖應用程序,HTML5驅動的遊戲等。我的規則,基於內容的「(博客網站,新聞網站,電子商務商店等)應該使用漸進式增強,而任何'Application-y'都可以通過強制JavaScript來消除。

最終,這歸結於您正在構建的內容以及漸進式增強路線是否適合您。


統計的人使用JavaScript號殘疾人是很難得的(some here但它從2008年的,也this StackOverflow post 2008年),但我認爲這是越來越不太可能有腳本禁用,因爲越來越多的RIA應用程序和依賴於JavaScript的Google HTML5應用程序(Google文檔,地圖等)。同時考慮到越來越多的移動互聯網設備(iPhone,iPad等)不允許您禁用JavaScript。

0

有些人認爲您還需要照顧關閉CSS的人。所有這一切都可能會讓你瘋狂,因爲所有這些網絡世界的「假設」。那些關閉javascript的人知道他們在做什麼,並且從未驚訝地發現一個無法正常工作的網站。如果他們知道足夠把它關掉,那麼當他們需要的時候,他們知道足夠的時間來重新開啓它。

我認爲這是蒂姆伯納斯 - 李曾經說過的網絡總是意味着可以編寫腳本。腳本鉤子內置於HTML中,所有瀏覽器都可以使用它。幾乎每個人都打開了,他們應該。使用它你的優勢。