我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?
以前可能有人问过这个问题,但我找不到它,所以如果你找到它,请指点我。
我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?
以前可能有人问过这个问题,但我找不到它,所以如果你找到它,请指点我。
您需要使用窗口元素的 window.onHashChange 事件。最好使用jquery bbq之类的 javascript 库来处理哈希更改。
如果您仍然想在不使用库的情况下执行此操作,那么在页面加载时您应该调用处理 onHashChange 的函数。
没有事件(至少不是我最后一次检查)。例如,您需要在 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