2009-12-21 24 views
9

在Micrososft AJAX和jQuery中有history.back的實現(http://www.asual.com/jquery/address/)。 我已經有jQuery和asp.net ajax包含在我的項目中,但我不確定哪個執行history.back更好。哪個Javascript歷史回執是最好的?

更好的對我來說是:

  1. 已經被一些大項目
  2. 廣泛的瀏覽器支持
  3. 容易實現
  4. 小足跡

是否有人知道哪一個是更好?

編輯:

另一個jQuery插件是http://plugins.jquery.com/project/history它在書中JQuery的食譜是recommmended。迄今爲止這個效果很好。

+0

取決於你的意思是通過廣泛的瀏覽器支持什麼以及誰將會使用的應用程序。如果它是一個使用大量不同瀏覽器的多元化社區,我會說數字1,因爲工作可能是任何類型軟件中最重要的部分。 – Zoidberg 2009-12-21 16:56:58

+0

我從來沒有實現過這種特殊情況,但是我儘可能使用jQuery進行滾動,並且很少感到失望,特別是當需要「全屏瀏覽器支持」時。 – 2009-12-21 18:53:32

回答

8

jQuery Address的一種替代方案是jQuery history插件。還有URL Utils

參考:AJAX History and Bookmarks

+1

我喜歡屏幕錄像「AJAX歷史和書籤」。它使用由jQuery BBQ取代的URL Utils,但它仍然是一個非常好的起點。 – 2010-01-02 10:58:36

+0

這是一篇體面的文章,鏈接到jquery.pager.js,microtemplates.js和jquery.ba-bbq.js http://stephenwalther.com/blog/archive/2010/04/08/jquery-asp .net-and-browser-history.aspx – 2010-04-09 13:26:42

+0

jQuery地址不適用於新版本的jQuery。請參閱下面的答案。 – 2014-04-25 17:07:38

0

如果您正在構建一個ASP.NET應用程序,那麼使用ASP.NET Ajax Framework爲您提供了許多優點和一個非常簡單的API來使用服務器端。

下面你可以找到一個使用瀏覽器歷史與ASP.NET AJAX

Create a Facebook-like AJAX image gallery

兩者在瀏覽器廣泛支持的例子。 對我來說更容易微軟的AJAX框架,以便再次如果你有一個.aspx頁面中集成的ASP.NET頁面就可能更容易與ASP.NET AJAX工作

0

如果你不需要完全AJAX,即根據請求只更新站點的部分已足夠,那麼您可以使用隱形iframe作爲加載生成的HTML文件的目標,該文件僅包含更新/重置站點「可更新」部分的JS腳本。這是跨瀏覽器的解決方案,不需要地址輪詢。

例,但不是在ASP:kociszkowo.pl(波蘭網站)

當您在部分點擊圖標那裏,您的瀏覽器支持JavaScript,鏈接,正在獲取之前修改 - 目標轉換爲iframe和href是後綴用.dhtml通知服務器,我們對頁面的特殊版本感興趣。如果您在裝有js的瀏覽器中按Back,則先前提取的iframe頁面將從緩存中加載。很簡單,但需要在架構層面做出一些決定。

這個鏈接修改在這裏是無關緊要的,它只是結合JS /非JS世界的結果。

0

根據我的經驗,你最好的選擇是使用你所做的大部分(如果不是全部)你的ajax調用。例如,如果您使用的是asp:UpdatePanel,請使用MS之一 - 如果您使用的是jQuery.ajax,請使用jQuery歷史記錄插件。如果你正在做一個混音(我試圖避免在我的項目中),我會親自測試兩個,看看哪個更好 - 如果它們都測試的很好,那麼它有點偏好。有人可能會爭辯說微軟會有更好的支持,但jQuery的歷史插件可能會得到更多的使用和更成熟。

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

http://docs.jquery.com/Ajax/jQuery.ajax#options