2012-02-08 3 views
1

это выглядит как лучший способ получить #value из URL-адреса при изменении, это действительно работает, но просто интересно, есть ли лучший способ

$(function() { 
    $(window).bind('hashchange', function() { 
     var hash = window.location.hash; 
     var map = { 
      one: 1, 
      two: 2, 
      three: 3, 
      four: 4 
     }; 
     var hashValue = map[hash.substring(1)]; 
     alert(hashValue); 
    }); 
}); 
+0

Этот вопрос может быть более подходящим по HTTP : //codereview.stackexcha nge.com? –

+0

, и он не будет работать в более старом IE, если вы хотите обслуживать эти + более новые браузеры, можете использовать pushState, который лучше смотреть на –

ответ

0

вы можете использовать jquery.history плагин:.. http://tkyk.github.com/jquery-history-plugin/

Это может помочь вам избежать некоторых броузеров проблем события hashchange

function loadContent(hash) { 
    alert(hashValue); 
    // you can do some ajax here 
} 

$(document).ready(function() { 
    $.history.init(loadContent); 
});