2015-02-07 178 views
0

我搜索了幾個小時,並在jquery中找到了一個修改當前頁面url的腳本。例如使用jQuery修改url參數而無需刷新頁面

?profile_id=<%=(rs_resq.Fields.Item("profile_id").Value)%>#inter 

但是,當我使用它的頁面重新加載,我鬆開了DOM中的所有以前的緩存數據。我想這背後發生的原因是鏈接屬性

rel="external" 

所以我把它關閉,然後停止工作。

<script> 
$("#inter").live("pageshow", function onPageShow(e,data){ 

    alert('Page 2 - CID: ' + getParameterByName('profile_id')); 
}); 

function getParameterByName(name) { 
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search); 
    return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); 
}  
    </script> 
+0

您正在使用哪個jQuery版本?從1.9版開始,「live()」被刪除。選中[this](http://api.jquery.com/live)。 – Preetesh 2015-02-07 10:17:55

+0

我使用的版本是1.8.4 – 2015-02-07 10:19:26

+0

你到底想要做什麼?還有其他方法可以做任何事情。如果你希望內容在沒有頁面改變的情況下改變,那麼你可以使用JS來做到這一點.. JS可以與服務器通信並獲取數據,從div中刪除數據並在不刷新的情況下添加新的數據。您也可以使用AJAX調用PHP函數。 – bakriawad 2015-02-07 13:16:50

回答

0

不,你不能!

URL對於Internet上的特定資源始終是唯一的。例如,

www.example.com/resource1.html 

www.example.com/resource2.html 

總是不同一旦該網址在瀏覽器中尋求其中的URL指向,不是同一個或任何未知的資源地址欄變。

此外,散列符號(#)表示在同一頁上的錨,所以如果你想更改URL指向同一個頁面上的錨,如:

www.example.com/resource1.html#anotherColumn 

它會只需將視圖滾動到引用部分,而不是刷新內容。

有可用的,像框架 - AngularJS,KnockoutJS等,它允許您使用相同的URL,但不同家當指針訪問動態內容 - #!。但是,同樣,您的網頁會隨着網址的每次更改而刷新。

希望有幫助!

相關問題