我已經開發了幾年的Web應用程序。我面臨的其中一個問題是必須開發JavaScript應用程序未啓用或不可用的Web應用程序。我知道這是幾年前的一個問題,但很想知道其他網頁設計師和開發人員對此問題的看法?這仍然是一個問題?Javascript未啓用
我問這個問題的原因是因爲在我看來,我們只是迎合現在幾乎不可能發生的情景。這對於面向公衆的網站和Web應用程序尤其如此?我的評估是否正確?我很想知道其他網絡開發人員和設計師的經驗和任何學習
謝謝。
我已經開發了幾年的Web應用程序。我面臨的其中一個問題是必須開發JavaScript應用程序未啓用或不可用的Web應用程序。我知道這是幾年前的一個問題,但很想知道其他網頁設計師和開發人員對此問題的看法?這仍然是一個問題?Javascript未啓用
我問這個問題的原因是因爲在我看來,我們只是迎合現在幾乎不可能發生的情景。這對於面向公衆的網站和Web應用程序尤其如此?我的評估是否正確?我很想知道其他網絡開發人員和設計師的經驗和任何學習
謝謝。
我會建議您儘量確保您的網站的基本功能沒有JavaScript可用。
如果以這種方式工作,即使您或其他開發人員允許不完善的JS進入生產站點,您也會得到一個可以工作的網站 - 嚴重的JS錯誤不一定會是一個完整的展示瓶塞。
此外:AJAX,效果和其他絨毛可以採取aaaaaaages進行調試。用戶不介意簡單。你應該瞄準簡單,並慢慢添加花裏胡哨,用戶測試,因爲你添加,以避免創建一個AJAXeffectsFluffy廢話堆混亂和越野車...
即使在今天,有些人(包括我自己)有JS轉身默認關閉。專業構建的網站要麼警告禁用功能,要麼在沒有JS的情況下工作(通過完整頁面重新加載)。
漸進式增強!我花了很長時間在AJAXd網站上花費太多時間來瀏覽JS,所以我幾乎總是瀏覽JS,所以在添加JS功能之前,總是從簡單的頁面加載表單開始。
像jQuery,mootools等JS框架越來越受歡迎,因爲幾乎任何人都可以製作帶有動畫的「閃亮」網站。但我認爲,越多的人開始使用這些工具,那麼任何常規瀏覽器都不太願意啓用JS。
+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 - 向下滾動並單擊'更多')。
這種「漸進增強」的做法的好處是:
如果你關心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。
有些人認爲您還需要照顧關閉CSS的人。所有這一切都可能會讓你瘋狂,因爲所有這些網絡世界的「假設」。那些關閉javascript的人知道他們在做什麼,並且從未驚訝地發現一個無法正常工作的網站。如果他們知道足夠把它關掉,那麼當他們需要的時候,他們知道足夠的時間來重新開啓它。
我認爲這是蒂姆伯納斯 - 李曾經說過的網絡總是意味着可以編寫腳本。腳本鉤子內置於HTML中,所有瀏覽器都可以使用它。幾乎每個人都打開了,他們應該。使用它你的優勢。