ajaxナビゲーションでasp.net mvcを使用しています。私はjqueryアドレスを使用しており、アドレスバーを「MYPage.Com/#/Url」のように変更できますが、ユーザーがそのリンクを入力したときにルートを呼び出すにはどうすればよいですか?
これは以前にも質問されたかもしれませんが、見つけられなかったので、見つけたら教えてください。
ajaxナビゲーションでasp.net mvcを使用しています。私はjqueryアドレスを使用しており、アドレスバーを「MYPage.Com/#/Url」のように変更できますが、ユーザーがそのリンクを入力したときにルートを呼び出すにはどうすればよいですか?
これは以前にも質問されたかもしれませんが、見つけられなかったので、見つけたら教えてください。
window要素のwindow.onHashChangeイベントを使用する必要があります。ハッシュの変更を処理するには、jquerybbqなどのjavascriptライブラリを使用するのが最適です。
ライブラリを使用せずにそれを実行したい場合は、ページの読み込み時に、onHashChangeを処理する関数を呼び出す必要があります。
そのためのイベントはありません(少なくとも最後にチェックしたときはそうではありません)。たとえば、100ミリ秒ごとに1回(またはそれ以上)実行されるチェッカー関数をJSで作成する必要があります。
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