Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Miten päivitetään vain osa nettisivusta?

heikkju2 [16.01.2016 20:43:41]

#

Onko mitään yksin kertaista tapaa päivittää sivulta pelkkiä kuvakehyksiä.
Tein yksinkertaisen noppapelin (Qwixx) siinä on pistelaskulomake toteutettuna Check boxeilla ja alla nopat, firefoxissa toimii hyvin, noppia voi heittää selaimen päivityspainikkeella mutta jun otetaan safari eli IPAD käyttöön ja päivitetään sivu, nuo pistelaskun Checkboxit nollaantuvat. En löydä noista PHP:n oppaasta mitään tähän sopivaa onko ideoita kamucairnit.com/Huki

Grez [16.01.2016 21:15:34]

#

document.getElementById('myImage').src = 'kuva.jpg?'+Date.now()

Lataisi kuvan jonka id on myImage uudelleen.. (jos se olisi alunperin kuva.jpg)

Metabolix [16.01.2016 21:26:45]

#

Voisit tehdä sivulle napin, joka lähettää nykyiset pistelaskutiedot PHP:lle, jolloin voisit tulostaa ne oikein myös uudelleen latautuvalle sivulle.

Toisaalta jos on tarkoitus ohjelmoida vain selaimessa toimiva peli, kannattaa ehkä ohjelmoida se alusta asti JavaScriptilla ja unohtaa PHP.

Jos PHP ei ole tarpeen ja riittää muuten vain pelkkä kuvien vaihto, voit vaihtaa kuvaa näin:

<img id="kuva" src="kuva1.jpg" />
document.getElementById("kuva").src = "kuva2.jpg";

Grezin koodin Date on turha, jos kuvatiedoston nimeä muutetaan. (Grez varmaan oletti, että olet todella muuttamassa kuvatiedostoa ja ongelmana on, että vanha kuva on jäänyt välimuistiin.)
Kuitenkin tämän muutoksen välittäminen PHP:ltä JavaScriptille on jo selvästi monimutkaisempaa.

heikkju2 [16.01.2016 21:39:06]

#

Tämä nyt ei ihan auennut mutta minulla on 6kpl noppia joiden arvot arvotaan satunnaisluvuilla heitto.php tiedostossa joka on sisälytetty index.php :hen
Sieltä tuodaan kuvat kuvakehyksiin, näitä kehyksiä ei varmaankaan saa päivitettyä erikseen ilman sivun päivittystä PHP:llä.
Toinen mitä ajattelin on se että jos upotan tuon heitto.php.n jossa on pelkästään noppien heitto iframella index.php sivulle, tuon yksittäisen iframen päivitys painikkeella olisi kova sana mutta, se ei varmaankaan onnistu painikkeella?

Grez [16.01.2016 21:53:04]

#

Metabolix kirjoitti:

(Grez varmaan oletti, että olet todella muuttamassa kuvatiedostoa ja ongelmana on, että vanha kuva on jäänyt välimuistiin.)

Niin no siinähän kysyttiin miten selaimen saa päivittämään kuvan... Toki jos kuva on alunperinkin dynaaminen niin voi olla että se vanhentuu välittömästi ja jos kaikki toimii hyvin niin selain ehkä lataisi sen uudelleen vaikka url pysyisi muuttumattomana.

heikkju2 kirjoitti:

Sieltä tuodaan kuvat kuvakehyksiin, näitä kehyksiä ei varmaankaan saa päivitettyä erikseen ilman sivun päivittystä PHP:llä.

Toki kuvan saa päivitettyä ilman koko sivun lataamista, javascriptillä.

Metabolix [16.01.2016 22:09:13]

#

heikkiju2, yleensä päivittäminen tarkoittaa saman asian muuttamista (esim. kuva1.jpg on muuttunut ja se pitää saada päivitettyä), kun taas eri noppakuvien kohdalla kannattaisi puhua selvemmin vaihtamisesta (esim. kuva kuva1.jpg vaihdetaan kuva2.jpg:hen).

Lisäksi img-tagi tai img-elementti ei ole mikään kuvakehys vaan kuva.

Kuvia voi vaihtaa JavaScriptilla, kuten edellä todettiin. Kuitenkin silloin pitäisi myös ohjelmoida JavaScriptilla se, milloin kuvia vaihdetaan ja mitä kuvia sitten näytetään, eli selaimen refresh-nappiin tai muuten uuteen sivunlataukseen ei voi liittää tätä JavaScript-toimintoa.

Kehyksillä (kuten iframe) voisi kyllä myös ongelman ratkaista.

<form action="noppasivu.php" method="POST" target="kehys">
 <button name="nappi" value="1">Päivitä</button>
</form>
<iframe name="kehys" src="noppasivu.php"></iframe>

heikkju2 [16.01.2016 22:19:10]

#

Kiitos kaikille tuo Metabolixin ohje oli se mitä hain ja se näyttää pelittävä oikein eli, Iframe on avain helppoon ratkaisuun.

Vastaus

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

Tietoa sivustosta