JavaScript: onLocationChange – plugin do jQuery

Potrzebowałem jakiś czas temu skryptu wykonującego się w sytuacji gdy zostanie zmieniony adres URL strony. Dotyczyło to dodania do adresu ciągu #costam/cos/innego. Ciąg taki dodawałem do adresu np w sytuacji gdy wczytywałem dynamicznie komentarze do jakiegoś elementu. Element wczytywał się na początku, a niżej były komentarze ładowanie ajaxowo z paginacją, no i każde przejście na koleją podstronę komentarzy dodawało do adresu #!comments/(nr-strony). O ile samo wczytywanie nie było problemem to zamarzyło mi się, że mając adres z http://xlteam.pl/element.html#!comments/2 wczytało odrazu drugą stronę komentarzy. Dlatego też pogooglałem i znalazłem rozwiązanie, które opakowałem w plugin jQuery i działa :) Oto cały kod pluginu:

(function($){
  $.onLocationChange = function(func, time) {
    if(!time) time = 500;
    var currLoc = '';
    setInterval(function()
    {
        if(window.location.href != currLoc)
        {
            currLoc = window.location.href;
            func(); //execute function
        }
 
    }, time);
 
  };
})(jQuery);

przykład jak tego używać w dalszej części wpisu

Czytaj dalej »