2010-07-07 46 views

回答

1

沒有爲沒有事件(至少不是我上次檢查)。您需要在JS中創建一個檢查器函數,例如(或更頻繁)每100毫秒運行一次。

var currentHash=""; 
function CheckHash() 
{ 
    if(currentHash!=window.location.hash) 
    { 
     currentHash=window.location.hash; 
     NavigateTo(currentHash); //or whatever code to execute when address behind `#` changes 
    } 
} 

CheckHash(); //Initial Run, for fast reaction on load 
window.setInterval(CheckHash,100); //schedules the function to run once every 100ms 
+0

謝謝,但是看看這個鏈接,他們似乎並不有一個計時器http://www.asual.com/jquery/address/samples/tabs/ – 2010-07-07 21:32:29

+0

有插件內的計時器,它僅用於適用於舊版本的Firefox,Safari和Opera。 – Rostislav 2010-07-07 22:45:05

2

您需要使用window元素的window.onHashChange事件。最好使用像jquery bbq這樣的javascript庫來處理哈希變化。

如果您仍然想這樣做,而無需使用一個數據庫,然後在頁面加載,你應該做出,即使處理onHashChange的函數的調用。