2013-06-12 237 views
1

我已經爲iPad創建JavaScript應用程序,其中所有內容都基於Web。所有頁面都有非常多的內容,並且有很多鏈接。所以當我點擊鏈接時,頁面顯示(加載)內容時會顯示白色區域。當我在加載下一頁時單擊鏈接時,我希望它保留在前一頁上。如果它完全加載,我希望它顯示下一頁。我該怎麼做?在頁面完全加載後重定向到鏈接頁面

+0

也許你應該考慮不要在點擊後加載它。最好猜測下一個鏈接將被預取的鏈接。谷歌有點用於頁面預取。第二個是減少頁面大小,並使用Ajax逐個加載。等待幾秒鐘,直到頁面加載將反彈很多用戶... – abimelex

回答

3

據我所知,實現這一目標的唯一方法是使用AJAX加載您的內容。也就是說,不是爲每個鏈接重新加載整個頁面,只需根據點擊鏈接來重新加載部分內容即可。

比方說,你的頁面有這樣的容器:

<div id="content">...</div> 

然後,對於每一個環節(符合一定的條件,如果你不希望它發生的所有的鏈接),你執行一個AJAX要求類似

$("a").click(function() { 
    $this = $(this); 
    var data = {}; // Put additional parameters here 
    $.get($this.attr("href"), data , function(response) { 
     $("#content").html(response); 
    } 
} 

正如@rofavadeka提到,你也可以修改URL,以便它反映位置的變化,使用類似:

window.history.pushState("object or string", "Title", "/new-url"); 
+1

只是回答完全相同的事情。我認爲唯一的解決方案。創建一個ajax請求(例如整個頁面),在完全加載時使用javascript將新內容粘貼到(例如body)中,然後使用js-> window.history.pushState(「object or string」,「Title」, 「/新網址」); – rofavadeka

+2

請注意,'pushState'不支持低於IE10的IE版本。但由於這是一個iPad的事情,沒有問題。 – jdepypere

1

您考慮過使用jQuery Mobile嗎?這是一個圖書館,具有您正在尋找的那些功能。

+0

問題是我已經使整個應用程序,我不能只是改變到jQuery –

相關問題