HTML5帶來了JavaScript的新歷史API。這使您可以使用JS將事物推送到瀏覽器歷史記錄。有了這個,你可能能夠完成你正在尋找的東西。如果這沒有什麼幫助,請澄清你的問題,因爲有點難以分辨你的要求。
編輯:
我認爲這是你在找什麼。看看this example。當您點擊諸如「蓬鬆」之類的鏈接時,該網站實際上只是替換了網站正文的文本,並向瀏覽器的歷史記錄添加了一個條目,以顯示用戶實際上轉到了其他頁面。實際上,瀏覽器從來沒有提出過另一個請求,也沒有打開另一個頁面,並且這只是一種JavaScript技巧。
釋演示環節,我送你,有很多的好消息:
http://html5doctor.com/history-api/
中的jsfiddle演示:
我做什麼,我講的小規模示威here in a jsFiddle。 如果你看,你會看到一個鏈接。如果要右鍵單擊並查看包含內容的小方塊的來源,則會看到您正在查看頁面的來源「http://jsfiddle.net/ByZpW/4/」。
點擊鏈接。
現在您將在鏈接中看到新內容和新文本。如果您要再次查看該小方塊的來源,則會看到您正在查看頁面的來源「http://fiddle.jshell.net/lolnewpageonjsfiddledomain/」。
很明顯,jsFiddle沒有讓我給他們的域添加一個新頁面,那麼發生了什麼?我告訴JavaScript,我去了別的地方,它相信我。現在,如果你點擊內容廣場並點擊退格,你會看到你被帶回「第一頁」。如果您查看來源,則會確認您已返回原始位置。當然這是一個很大的謊言。我們沒有去任何地方,一切都是用JavaScript來看待的。
,請注意行:
// History magic here
history.pushState({link: link, content: content}, "test", $(this).attr("href"));
這就是我們用JS說:「假裝我去別的地方,儘管我還在這裏。」
你想要一個新的窗口,添加到瀏覽器的歷史?所以當他們點擊後退按鈕時,這個新窗口會去哪裏? – 2013-03-14 01:49:02
更簡單的使用腳本修改當前頁面中的視圖並使用散列來路由視圖 – charlietfl 2013-03-14 01:56:18
我仍然不確定你在找什麼。使用'window.open()'在新窗口中加載頁面alredy在用戶瀏覽歷史中包含頁面。如果您只是想要替換頁面上的內容,那麼您可以使用javascript替換文檔元素的內容,然後使用我在答案中提到的History API向瀏覽器歷史記錄中添加條目,以使其顯示用戶已訪問過不同的頁面。 – BinaryTox1n 2013-03-14 19:08:03