2012-06-02 41 views
5
$(document).load("somepage.aspx", function (responseText, textStatus, xhr) { 

}); 

這不起作用。
有什麼方法可以使用加載函數來替換整個文檔,包括頭部?是否有可能使用JQuery.Load()替換整個文檔?

編輯:我不想刷新我的頁面,我必須使用AJAX。

+1

的HTML'

的正常內置行爲'是運行一個HTTP請求和替換以上是返回什麼整個頁面... – Pointy

+0

要「更換整個文件包括頭」是恰恰與刷新頁面完全一樣。我懷疑你想要做的是替換內容,但保留窗口屬性等等,對吧?你應該更清楚地說明。 – Pointy

+0

我使用ajax接收來自我的服務器的推送通知,我想避免刷新我的頁面並在後臺使用ajax。 Beatport.com做了類似的事情,所以即使你繼續瀏覽,他們的音頻播放器仍然會播放。 – Adir

回答

0

您可以使用Jquery Ajax查詢從服務器中獲取一些html文件,並從文檔中刪除所有內容並將其替換爲內容。

+0

我嘗試過,但使用innerHTML(或JQuery html函數)去除加載頁面內的腳本標籤。 – Adir

0

您可以添加iframe並將新頁面加載到其中。

0
$(function(){ 
    $.get('my_page.html', function(e){ 
     $(document).empty().append(e); 
    }); 
}); 

試試看。 my_page.html被加載,然後jQuery找到文檔對象,刪除所有內容並將其附加到my_page.html內容中。

+0

這給了我一個空白的文檔,不知道爲什麼 – Adir

+0

您需要將'my_page.html'更改爲您要加載的頁面。 – dotty

+0

那不是問題... – Adir

0

當頁面完全加載時,您應該重定向您的頁面。

$(window).load(function(){ 
     document.href.location = "your_page"; 
    }); 
+0

我需要使用ajax – Adir

7
$.get("somepage.aspx", function (data) { 
    document.open(); 
    document.write(data); 
    document.close(); 
    $.cache = {}; 
}, "text"); 
+0

這會導致刷新。 – Adir

+0

@Adir nope,你爲什麼這麼認爲。 – Esailija

+0

我不這麼認爲,我試過了(Firefox 12) – Adir

相關問題