2011-11-30 55 views
4

我擁有的是一個MVC框架,我通過JavaScript和jQuery操縱DOM。哪一點是對這個問題的一個靜音的參考。通過MVC如果我去使用JavaScript/jQuery無需刷新頁面位置而附加到URI/URL

domain.com/page/

我默認頁面上降落最近的信息,更新等。但是通過MVC如果我去像

域.COM /頁/ REF1/REF2/REF3

我們可以處理在後端做我們想要的。當它直接去了。因此,這個問題的思想是,我可以模擬跨瀏覽器的行爲,至少達到IE 6/7 +,Firefox 3.x +,Chrome。而模仿我的意思是操縱URL/URI就像我自己的DOM本身。通過這種方式,當有人出現並通過我們操作DOM的方法導航到各個部分並找到他們想要共享的所有內容時,他們需要進入瀏覽器URL欄,然後將其複製並粘貼到消息中。

會更好什麼是可以與來回歷史記錄按鈕在瀏覽器上工作,以及一種方法。全部無需重新加載/刷新頁面。

回答

2

你試過

window.location.replace(URL) 

此功能不加載你改變你這樣的當前位置的任何pages.If,當你重定向到某個地方,你的最後一個地址將是未經修飾的address.It不會爲瀏覽器歷史記錄寫入新的URL。因此,就好像您只是將密鑰分配給用戶想要分享的內容一樣。

+0

這是一個很好的起點。謝謝。無論如何,這是跨瀏覽器兼容,以調用使用後退按鈕?或者,這是多麼希望?我發現了一些事情,但他們確實沒有做好。 – chris

+0

你嘗試過'history.back()'嗎?帶您到瀏覽器歷史記錄中的最後一個點。這是一個java腳本代碼。我猜它必須是跨瀏覽器兼容的,因爲W3如此說明http://www.w3schools.com/jsref/met_his_back.asp – kommradHomer

2

你有沒有考慮修改URL中的錨?雖然這個頁面上:

http://www.google.com/

更改URL,以這樣的:

http://www.google.com/#foo

...不會觸發頁面刷新。所以你可以使用(讀/修改)所有你想要的錨後URL的內容和頁面不會重新加載。應該能夠建立在這個想法上。

+0

我已經concidered與錨這樣做,並有一些項目過去但是從運行項目的人目前的要求是他們不希望看到他們想要的所有URL的#/一路關閉網址。我希望這很容易,儘管因爲我會用#打破它,然後#之後的任何東西都可以被/拆分,我不幸在運動中不那麼幸運。 – chris

相關問題