function link(url,panel) { $(panel).fadeOut("fast",function() { $(panel).load(url,{'js':true},function() { $(panel).fadeIn("slow"); }); window.location.hash=url+panel; }); } $(function() { $('a').click(function(event) { var url=$(this).attr("href"); var panel=$(this).attr("panel"); if(panel!=null) { event.preventDefault(); link(url,panel); } }); });
No wiec pomysl wyglada tak ze zwykly link bedzie dzialac na ajaxie ale tylko gdy user bedzie mial js wlaczone np:goole bedzie klikalo w zwyczajny sposob.
Niestety jest pewien walek (same linki dzialaja ale chcialbym miec tez zminiajacy sue url : tak by uzytkownik mogl go przeslac kumplowi) gdy zastosuje window.location.url=url+panel; strona z automatu sie odsiewieza znalazlem info ze ludzie czasem uzywaja hasha (z jquery mozna odswiezyc panel na odstawie adresu a sam hash noz pzregladarka nie znajdzie kotwicy wiec oleje a info ppo hasu poslyzyc moze w jakism skrypcie do odswiezenia panelu) i linki przeslane(by dzialaly) aczkolwiek wolal bym nie stosowac takiego rozwjazania bo tylko myknie na uzytkownikach z JS dla np google bedzie to link do strony glownej bez odswiezonego panela. (co prawada nie ma czesc tej korzystajacej z ow hash'a w celu odswiezenia panelow (jedynie same odswiezanie panaka po klinieciu) gdyz licze na to iz da sie to jakos wykabinowac by i dla google link strzelony z paska byl zrozumialy)
jakis pomys?
Macie jakispomysl na to: by zablokowac odsiwezenie strony mimo zmiany window.location.url.
Bylo by dosc bosko zatrzymac funkcjonalnosc paska wraz z animacjami i ajxem.