Refresh glavne stranice kada se klikne na link podstranice

Tražila sam po Googleu kako postići Refresh stranice, no ne nalazim recept baš za ovaj moj slučaj.

Imam glavnu stranicu (neka se zove str1). Na njoj se nalazi iframe (neka se zove ifr). Na stranici str1 nalaze se linkovi l1, l2, l3, l4,… koji, kad se na njih klikne, otvaraju neke podstranice unutar iframea ifr.

Ja bih željela postići da se klikom na linkove l1, l2, l3,… osim otvaranja tih podstranica, postigne i Refresh glavne stranice str1.

Može li se to?
Što trebam utipkati i gdje?

Probaj onda ovako, umjesto ongo starog on click koji sam predložio, stavi ovaj:

onClick=“javascript:history.go(0);return false;” Javi jel radi :slight_smile:

[quote=“APazinjan”]Probaj onda ovako, umjesto ongo starog on click koji sam predložio, stavi ovaj:

onClick=“javascript:history.go(0);return false;” Javi jel radi :)[/quote]

Stavila sam ali opet neće… :-((((

http://public.carnet.hr/~ahorvate/pitanje/izreke-iframe-js2.htm

Stavila sam ga na kraj iframe-taga. Probala sam i na početak, ali neće.
Možda trebam dodati nešto u ?

Probaj umjesto onclick isto napisati onload

Našao sam riješenje. Ovaj onload=“this.style.height = ifr1.document.body.scrollHeight + 50” zamjeni sa:

onload="this.style.height = ifr1.document.body.scrollHeight + 50;javascript:history.go(0);"
i onda bi trebalo raditi :slight_smile:

[quote=“APazinjan”]Našao sam riješenje. Ovaj onload=“this.style.height = ifr1.document.body.scrollHeight + 50” zamjeni sa:

onload="this.style.height = ifr1.document.body.scrollHeight + 50;javascript:history.go(0);"
i onda bi trebalo raditi :)[/quote]

Sad se stranica niti ne uspijeva učitati, upadne u neku petlju. Dakle, kad sam izvršila tu zamjenu, ovo je rezultat:

http://public.carnet.hr/~ahorvate/pitanje/izreke-iframe-js3.htm

Onda sam u tu istu liniju pokušala ubaciti ono “return false” (što se provlačilo kroz ono što si mi prije predlagao). Dakle, kad je ubačena linija ovakva
onload="this.style.height = ifr1.document.body.scrollHeight + 50;javascript:history.go(0); return false;"
rezultat je ovaj

http://public.carnet.hr/~ahorvate/pitanje/izreke-iframe-js4.htm

dakle opet beskonačna petlja.

Onda sam probala (ne znam zašto) izbaciti onaj znakić ; ispred return false, tj. ubacila sam ovo
onload="this.style.height = ifr1.document.body.scrollHeight + 50;javascript:history.go(0) return false;"
i rezultat je ovaj

http://public.carnet.hr/~ahorvate/pitanje/izreke-iframe-js5.htm

dakle nema više petlje, ali ne radi ni ono da se duljina iframea prilagodi duljini učitane podstranice.

Dalje nisam više ništa probala sa ovim, no učinila sam jednu drugu stvar. Izbacila sam ovaj pokušaj refresha, te sam iz one linije
onload="this.style.height = ifr1.document.body.scrollHeight + 50"
pokušala izbaciti broj 50.
Dakle, sad imamo
onload="this.style.height = ifr1.document.body.scrollHeight"
a rezultat je ovaj

http://public.carnet.hr/~ahorvate/pitanje/izreke-iframe-js6.htm
.
Dakle, sad se rub iframea približio dnu podstranice koja se u njemu učitava. Ujendo smo postigli i to da uzastopnim klikanjem na isti link (npr. na “aforizam”) visina iframea miruje, tj. ne produžava se.
međutim, i dalje ne radi dobro ako nakon duge stranice učitavamo kraću (nakon “Bog i vjera” npr. “aforizam”). Tada je opet previsok iframe, tj. zadržava svoju prijašnju duljinu.

Možda da dalje probavamo bez tog 50? Možda to nešto pojednostavljuje?

Evo, uploadala sam cijeli komplet na kojem vršim pokuse.
Pa, ako hoćeš skini si to, pa probavaj direktno,

http://public.carnet.hr/~ahorvate/pitanje/Probe-iframe.zip
.

Bit će brže ako sam pokušaš ubaciti liniju koju želiš unutar te moje stranice na kojoj je iframe i vidiš da li radi, nego da meni jednu po jednu govoriš, ja ubacujem, pa vraćam rezultate.

Na onim stranicama koje se zovu “izreke-iframe-…” se nalazi taj problematični iframe, a te se stranice međusobno razlikuju po ovim razmnim stvarima koje sam pokušavala ubaciti za onlad i onClick…

Još jednom ti puno hvala što se toliko trudiš! :slight_smile:

Evo, uploadala sam cijeli komplet na kojem vršim pokuse.
Pa, ako hoćeš skini si to, pa probavaj direktno,
public.carnet.hr/~ahorvate/pitanje/Probe-iframe.zip .

Bit će brže ako sam pokušaš ubaciti liniju koju želiš unutar te moje stranice na kojoj je iframe i vidiš da li radi, nego da meni jednu po jednu govoriš, ja ubacujem, pa vraćam rezultate.

Na onim stranicama koje se zovu “izreke-iframe-…” se nalazi taj problematični iframe, a te se stranice međusobno razlikuju po ovim razmnim stvarima koje sam pokušavala ubaciti za onlad i onClick…

Još jednom ti puno hvala što se toliko trudiš! :slight_smile:

Jedino sta mi pada na pamet sa javascriptom je da se koristi hash u url-u i preko toga ucitava stranice

Evo primjer
[HTML]

iframe

Stranica 1
Stranica 2
Stranica 3

[/HTML]

Primjeti href atribut u linkovima, to su nazivi stranica npr. ( href="#str1") oznacava stranicu str1.htm

Ja odustajem, žao mi je ali sve sam probao šta sam našao i ne ide.

[quote=“antelaca”]Jedino sta mi pada na pamet sa javascriptom je da se koristi hash u url-u i preko toga ucitava stranice

Primjeti href atribut u linkovima, to su nazivi stranica npr. ( href="#str1") oznacava stranicu str1.htm[/quote]

Skužila sam, hvala!
Na stranici na koju sam jednostavno iskopirala ponuđeni kod, zaista lijepo radi taj Refresh. No, kad sam u iframe tag dodala ono
onload="this.style.height = ifr1.document.body.scrollHeight + 50;
više nije radilo kako treba.
No, možda sam nešto usput krivo utipkala ili što li…, budem se još malo poigrala s tim.

Može li kratko objašnenje što zapravo radi taj hash, što je to uopće? Sa Googlea nisam uspjela skužiti…

Nema veze, i ovako si mi pomogao i hvala ti na tome! :slight_smile:

Eh, koji sam ja bedak!
Ja zapravo na svojim stranicama (matematičkima, na kojima također imam iframe, ), već imam rješenje ovog problema, a uopće to ne kužim!!!

Naime, svojevremeno sam uopčila da Google ljudima zna ponuditi i one podstranice koje bi se trebale otvarati u iframeu, pa klikom na taj Googleov link, ljudi odu na te podstranice bez iframea (stranica se raširi po cijelom ekranu). Svojevremeno sam otišla na Google grupe pitati za recept kako da to spriječim. Onda mi je jedan facer tamo napisao JS kod koji to spriječava, odnosno koji klikom na Googleov link, automatski poziva glavnu stranicu (na kojoj je iframe) i otavara traženu unutar iframea.
Ta je uputa ovdje (ako koga zanima),

http://groups.google.com/group/hr.comp.www.css/browse_thread/thread/6d3db24711734346/4a02272d025214d6?#4a02272d025214d6

Tek jučer mi je palo na pamet da onda isti taj kod može napraviti, odnosno i radi refresh glavne stranice!
A kad se to primijeni na ovo moje o mudrim izrekama, stranice rade ovako,

http://public.carnet.hr/~ahorvate/pitanje/caka-od-prije/izreke-iframe.htm
.
Kod svakog klika na link uz lijevi rub ekrana, nastane i “refresh”. A time i nažalost bljesak po ekranu. Nije ugodno za oko…

No, sad je i to riješeno.
Idem dalje petljati po tome, pa što ispadne…

Još jednom puno hvala svima!
Lijepi pozdrav,
Antonija

Što ti ovdje je radiš je da pokušavaš redefinirati i teoriju, a ne samo praksu. Hipertekst je “hiper” zbog mogućnosti međusobnog povezivanja. Spriječavati povezivanje s jedne web-stranice izravno na drugu otvara gomilu problema, a ključni je što se gubi značenje URL-a kao identifikatora resursa - korisnici web-stranica ne mogu zabilježiti sadržaj koji su našli i izravno ga referencirati.

S druge strane, rješavajući problem na ovakav način ga rješavaš i polovično jer JavaScript radi samo na klijentu. Dodatno, varaš i Google - uoči da ti back gumb ne radi kada dođeš s Googlea.

S obzirom da ne želiš preći na korištenje CMS-a, kako ti je predloženo, onda je jedino tehnički ispravno rješenje za tebe Server Side Includes. SSI omogućava da u svaku web-stranicu umetneš neki fiksni sadržaj pomoću jednostavne naredbe #include koja pokazuje na datoteku s tim sadržajem. Izmjene sadržaja uključene datoteke automatski propagiraju u sve web-stranice koje je uključuju jer uključivanje vrši poslužitelj, on-the-fly.

SSI je vrlo stara i jedna od temeljenih alatljika u izradi weba. U novije vrijeme je potisnuta značajnim razvojem serverskih programskih jezika i open-source programa za upravljanje sadržajem. Ipak, malo je vjerojatno da nije aktivna na svakom Apache poslužitelju - ako ti ne radi, provjeri s administratorom.

O bože, koje sam vrijeme već potrošila pokušavajući razumjeti što mi to sve govorite… :-)))
No, po to sam valjda i došla…
No, ne mogu se potužiti da ne govorite jasno, samo toliko je tih novih stvari…

Sad sam malo pručavala taj SSI…
Pročitala sam malo na Wikipediji o tome, na

http://w3schools.com/asp/asp_incfiles.asp

i na

http://webmaster.iu.edu/tool_guide_info/ssi.shtml
.

Ajd me sad još malo pogurnite u vezi toga:

Dakle, recimo da hoću koristiti taj #include.

Mogu li ja tu datoteku u kojoj je #include, raditi u Front Pageu? Ili u čemu? Ako sam dobro skužila, ta datoteka mora imeti ekstenziju .shtml . A u čemu onda izrađujem takav fajl, odnosno kako da mu pridružim tu ekstenziju?

Mogu li sadržaj te datoteke (onako kako će izgledati kad je stavim na server), vidjeti odmah na svom kompu, ili tu treba imati neki posebni program da to mogu vidjeti (kao za PHP…)?

A one datoteke koje pridružujem u toj naredbi #include (a koje zapravo predstavljaju header, footer i navigaciju u ovom mom slučaju), mogu biti i obični HTML? Podrazumijeva li se tu i ekstenzija .HTM (bez L; ni ne znam u čemu je razlika…) ?