我對web開發比較陌生,所以這可能是一個奇怪的問題。我想要我的網站的一部分加載一個新的頁面。但重要的部分不需要改變。我現在所做的是將內容加載到div中。低成本頁面轉換
$('#rightdiv').load("about.html");
這樣做的缺點是地址不變,我相信有一個很好的解決方案,但我不知道如何。我試着googleing它,但我找不到任何好東西。所以我很想看到一個解決方案和如何調用溶劑(希望你知道我的意思)。
謝謝你的時間和精力。
我對web開發比較陌生,所以這可能是一個奇怪的問題。我想要我的網站的一部分加載一個新的頁面。但重要的部分不需要改變。我現在所做的是將內容加載到div中。低成本頁面轉換
$('#rightdiv').load("about.html");
這樣做的缺點是地址不變,我相信有一個很好的解決方案,但我不知道如何。我試着googleing它,但我找不到任何好東西。所以我很想看到一個解決方案和如何調用溶劑(希望你知道我的意思)。
謝謝你的時間和精力。
瀏覽器支持HTML5的pushState
會讓你改變路徑此鏈接很好的解釋:
$('#rightdiv').load("about.html", function pushState(){
if(history && history.pushState){
history.pushState('','','about.html');
}
});
標準方法是使用location.hash
。例如,如果您在mysite.com/
上,並加載了about.html
頁面,則可以將散列設置爲#about
。這不會導致頁面重新加載,但會改變URL(以提供書籤/後退按鈕支持)。
作爲一個例子,利用成功的回調load()
:
$('#rightdiv').load('about.html', function() {
location.hash = 'about';
});
HTML5增加了一個名爲pushState
新的API。這可以在不引起頁面重新加載的情況下更完整地修改URL。閱讀更多關於here。
支持書籤和後退按鈕需要的不僅僅是這些。 –
這會讓他開始正確的道路。 – rossipedia
'location.hash'是標準的HTML5前標準,但'pushState'可能更適合新的HTML5開發。看到競爭的答案[這裏](http://stackoverflow.com/questions/9340121/which-one-is-better-pushstate-or-location-hash),但帶着一粒鹽給發佈的日期。查看瀏覽器支持[here](http://caniuse.com/#search=pushstate) –
這是使用AJAX將數據加載到div
的正確方法。我個人更喜歡使用jQuery.ajax()
函數。
這可以通過利用HTML5及其功能輕鬆實現。
Myspace的功能類似於你所要求的。 HTML5歷史記錄API可更改瀏覽器網址,而無需刷新頁面。將它與JQuery $ .ajax結合可以產生myspace,github和facebook中顯示的效果。 「arundavid」具有tinywall.info
那麼你可以找到自己的解決方案,它的相當容易。它被稱爲「HTML5歷史API」。谷歌那。 – putvande
非常感謝,我今天晚些時候會閱讀。 (如果你的帖子是作爲答案,我可能會接受它)。 –