0

我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?

以前可能有人问过这个问题,但我找不到它,所以如果你找到它,请指点我。

4

2 回答 2

2

您需要使用窗口元素的 window.onHashChange 事件。最好使用jquery bbq之类的 javascript 库来处理哈希更改。

如果您仍然想在不使用库的情况下执行此操作,那么在页面加载时您应该调用处理 onHashChange 的函数。

于 2012-04-18T06:12:50.237 回答
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
于 2010-07-07T21:24:09.793 回答