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

}); 

To nie działa.
Czy istnieje sposób użycia funkcji ładowania do zastąpienia całego dokumentu, łącznie z głowicą?Czy można zastąpić cały dokument za pomocą metody JQuery.Load()?

EDYCJA: Nie chcę odświeżać mojej strony, muszę używać AJAX.

+1

Normalna wbudowaną zachowanie HTML ''

jest uruchomienie żądania HTTP i zastąpić całą stronę z tym, co wrócili ... – Pointy

+0

Do „zastąpić cały dokument w tym głowy” jest dokładnie, dokładnie tak samo, jak odświeżanie strony. Podejrzewam, że to, co chcesz zrobić, to zastąpić zawartość, ale zachować właściwości okna itp., Prawda? Powinieneś o tym powiedzieć bardziej wyraźnie. – Pointy

+0

Używam ajax do odbierania powiadomień push z mojego serwera, chcę uniknąć odświeżania moich stron i używać ajax w tle do tego. Beatport.com zrobił coś podobnego, więc ich odtwarzacz audio nadal będzie odtwarzany, nawet jeśli będziesz kontynuował przeglądanie. – Adir

Odpowiedz

0

Możesz użyć kwerendy Ajax Jquery, aby pobrać html z serwera, usunąć wszystko z dokumentu i zastąpić go zawartością.

+0

Próbowałem, ale używając innerHTML (lub funkcji html JQuery) usuwa znaczniki skryptów wewnątrz załadowanej strony. – Adir

0

Możesz dodać element iframe i załadować do niego nową stronę.

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

Spróbuj tego. my_page.html jest ładowany, a następnie jQuery znajduje obiekt dokumentu, usuwa wszystko i dołącza go do zawartości my_page.html.

+0

To dało mi pusty dokument, nie mam pojęcia dlaczego – Adir

+0

Musisz zmienić stronę "my_page.html" na stronę, którą chcesz załadować. – dotty

+0

to nie problem ... – Adir

0

Powinieneś przekierować stronę po całkowitym załadowaniu strony.

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

Potrzebuję użyć ajax – Adir

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

To powoduje odświeżenie. – Adir

+0

@Adir nope, dlaczego tak myślisz. – Esailija

+0

Nie sądzę, próbowałem (Firefox 12) – Adir

Powiązane problemy