2008-10-02 54 views
1

鑑於現在大多數網站實際使用ajax,爲什麼ajax擁抱,而幀仍然被認爲是一個壞主意?Ajax vs Frames

回答

7

從我坐的地方來看,AJAX是一種很大的折衷。你在網絡的「文檔」模型中打破了一些事情,這樣你的網站可以更像一個「應用程序」。如果一個網站很好地使用了AJAx,他們將以微妙的方式打破文檔模型,爲應用程序增加一些有價值的內容。 「投票」鏈接並不是一個真正的鏈接,但它會給你一個很酷的動畫,並且異步地更新問題的狀態。

即使不是更多的文檔模型(書籤,滾動,複製和粘貼等),但是沒有太多的好處,框架也會崩潰。框架也插入我的操作系統/窗口管理器碰巧使用的任何裝飾,所以他們看起來很醜。

AJAX,如果做得正確,也打破了使用屏幕閱讀器,基於文本的瀏覽器等

+0

您可以在不打破文檔模型的情況下使用不顯眼的javascript來「做」AJAX。 – voyager 2009-10-20 22:12:48

0

Ajax和框架與可訪問性的觀點完全不同(它們也完全不同)。 框架提供了很少的積極影響,但帶來了一系列負面問題。另一方面,Ajax在大多數情況下使用戶界面更具動態性,而不會影響可用性。

1

使用Ajax,你可以把所有的邏輯在JavaScript代碼的人更好。這樣你可以創建或使用不依賴於你的頁面的JavaScript庫。如果您使用iframe,現在您必須處理隱藏的控件,並且大部分JavaScript代碼都必須知道iframe。

此外,對於搜索引擎,如果頁面沒有框架,效果會更好。

1

Ajax爲您提供更細化的控制。您可以更新頁面中的單個元素,其中框架可讓您控制甚至不在同一文檔中的塊。

2

框架的主要問題是可以深層鏈接到框架集之外的框架頁面,書籤功能很少像預期的那樣工作。當然,所有這些東西都有修復,但它們只是讓一個已經不是很好的系統變得更加笨重和複雜。如我在其他地方所說的,Ajax更多地是將現代javascript帶入主流,並使其再次成爲可以接受的方式,而不是使用xmlhttp對象(這實際上就是AJAX的意思)。一旦你有一個網站的JavaScript使用被接受,甚至預期,有很多更有趣的東西,你可以用它做。

1

這裏有兩個簡單的答案:

1)只要使用術語AJAX是冷靜,讓您的項目聽起來更「網絡2.0」。框架不是性感的。事實上,用網絡術語來說,框架是性感的對立面。

2)即使以非標準或支持不足的方式使用AJAX,也是具有前瞻性的。恕我直言,即使以相同的方式,向後看的框架也不太可能向前移動。