2011-05-16 73 views
1

我要尋找一個記錄,跨瀏覽器的支持,我可以用它來建立這樣一個網站jQuery插件: http://redsquareagency.com/jQuery插件使用Ajax調用導航網站而不是頁面加載?

正如你所看到的,當你通過網站,通過哈希的URL變化導航並且所有新頁面都通過ajax調用加載而不是頁面加載。這允許在加載新頁面時使用一些整潔的動畫。

我已經搜索了一段時間,試圖找到一個好的插件,提供此功能。我能找到的最好的是jQuery Ajaxy:http://balupton.com/sandbox/jquery-ajaxy/demo/

但是,缺少文檔,我發現它與最新的jQuery版本(1.6.0)不兼容。

任何人都知道可以做到這一點的插件?

+0

我不確定它是否可用作jQuery插件(所以我添加了一條評論而不是答案),但是您可以看看SWF地址 - 我在並行運行jQuery的自己的站點上使用了它。 – 2011-05-16 15:41:06

+0

這需要在應用程序架構級別完成。您需要一個發送內部頁面內容以響應ajax請求的路由器。 – 2011-05-16 15:56:48

+0

看起來像這樣被要求以不同的形式: http://benalman.com/code/: http://stackoverflow.com/questions/1415291/jquery-history-plugin 做到這一點的最佳方式projects/jquery-bbq/docs/files/jquery-ba-bbq-js.html http://tkyk.github.com/jquery-history-plugin/ http://www.asual.com/swfaddress/ 就我個人而言,我將與jQuery BBQ一起提供其文檔。謝謝。 – bperdue 2011-05-16 17:56:57

回答

0

嗯我不認爲有一個插件可以做所有事情。但是你幾乎可以用jquery history plugin的組合來做一些自己的jquery。

你所要做的就是編寫一些代碼讓你所有的hrefs通過AJAX加載。像這樣 -

$(document).ready(function() { 
      $.history.init(loadContent); 
      $('#navigation a').not('.external-link').click(function(e) { 
        var url = $(this).attr('href'); 
        url = url.replace(/^.*#/, ''); 
        $.history.load(url); 
        return false; 
       }); 
     }); 

就是這樣。 jquery歷史插件將照顧其餘的。您還應該閱讀google's documentation,瞭解如何正確執行此操作,以便爲其編制索引。

+0

感謝您的谷歌鏈接,重要的是要知道。 – bperdue 2011-05-16 16:19:05

0

你在找什麼是swfaddress。它爲flash和ajax站點提供了深層鏈接(顯然你在尋找ajax特性)。您基本上只需要聽取頁面更改請求並相應地加載內容。

+1

swfaddress是否增加了重量以支持與我不需要的SWF進行通信? – bperdue 2011-05-16 16:19:23