Kirjautuminen

Tunnus
Salasana

Haku

Pikalinkit

Kesäleiri yläkoululaisille

Tule oppimaan matematiikkaa ja ohjelmointia Helsingin yliopiston kesäleirille! Lue lisää...

Keskustelu: Nettisivut ja -ohjelmointi: Reagointi URLin #-osan muutoksiin

Sivu 1 / 1

combo [21.02.2012 23:15:58]

#

Otsikko on varmaan vähän huono kuvaus kysymyksestäni mutta parempaan en pysty. (Mod. auttoi.)

Kysymykseni on että jos minulla on tällainen skripti, jolla haetaan #:n jälkeen tuleva arvo, sitä ei saa muutettua muuten kuin päivittämällä sivun. Esimerkki: http://sivut.net/#arvo1 antaa alert-ikunnassa tuloksen arvo1. Jos arvo1:n muuttaa joksikin muuksi, enter:llä painaminen ei tepsi vaan sivu tarvitsee päivittää F5:lla. Onko tätä mahdollista muuttaa jotekin?

Ongelma on se että sivua tarvitsee aina päivittää vaan pelkkä osoiteriviin tehty muutos ja enterillä painamienn ei toimi.

 // Get # parameter
var param = document.URL.split('#')[1];
alert(param);

Saatan olla tässä asissa kujalla, mutta onko tämän urlin rakenne tehty samalla tavalla: http://grooveshark.com/#!/search/song?q=

Metabolix [21.02.2012 23:26:57]

#

Tietenkään JS-koodia ei ajeta maagisesti uudelleen, jos sivua ei ladata uudelleen. Voit laittaa JS-koodin tarkistamaan muutoksia ajastimella säännöllisin välein, tai voit kuunnella nykyselaimista löytyvää hashchange-tapahtumaa. Hakemasi tieto muuten löytyy helpommin kohdasta window.location.hash ilman splittiä.

tsuriga [21.02.2012 23:29:54]

#

Ko. osa on englanniksi hash, ja tuolle löytyy ihan oma eventtinsä. Jos haluat tukea vanhempia selaimia niin käytä jotain kirjastoa, esim. History.js.

EDIT: Metabolix ehtikin ensin, tässä vielä koodi tuohon kuunteluun

window.addEventListener('hashchange', function(e) {
    alert(window.location.hash);
}, false);

combo [21.02.2012 23:34:21]

#

Kiitos paljon teille molemmille! :)
Näillä ohjeilla päästiin etiäppäin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta