jQuery如何檢測URL的更改?如何使用jQuery檢測URL更改
例如:如果用戶轉到頁面site.com/faq/
什麼也沒有顯示,但如果他去site.com/faq/#open
jquery檢測到它並執行某些操作。
jQuery如何檢測URL的更改?如何使用jQuery檢測URL更改
例如:如果用戶轉到頁面site.com/faq/
什麼也沒有顯示,但如果他去site.com/faq/#open
jquery檢測到它並執行某些操作。
試試這個:
if (window.location.hash) {
// Fragment exists, do something with it
var fragment = window.location.hash;
}
僅供參考,由#
指定的URL的一部分,被稱爲「片斷」
如果你有site.com/faq/#open
一個URL,那麼你可以做
var hash = window.location.hash
得到hash = 'open'
單純看window.location.hash
在頁面加載:
$(document).ready(function() {
if(window.location.hash === "open")
{
//Show something
}
});
或綁定到hashchange
事件窗口:
$(document).ready(function() {
$(window).hashchange(hashchanged);
});
function hashchanged()
{
//Show something
}
可以使用hashchange事件。
或集成jquery hashchange plugin
$(function(){
// Bind the event.
$(window).hashchange(hashchanged);
// Trigger the event (useful on page load).
hashchanged();
});
function hashchanged(){
var hash = location.hash.replace(/^#/, '');
//your code
}
另請參閱[jQuery BBQ插件](http://benalman.com/projects/jquery-bbq-plugin/),雖然這可能比OP要求更復雜。 – Blazemonger
沒有像$(window).haschange這樣的事情,而問題是關於檢測URL變化沒有改變。 – OviC
'$(window).haschange'屬於上面提到的插件,用OP – UnLoCo
嘗試這個
$(window).on('hashchange', function(e){
// Your Code goes here
});
它的工作對我來說
你應該看看[jQuery的地址插件(HTTP://www.asual。 com/jquery/address /) –
@Sahil我假設他希望這樣,以便他可以在頁面加載時使用它,例如打開選項卡控件中的特定選項卡。知道這是一個方便的技術。 –