/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
frame-helvede
Fra : Anders


Dato : 14-09-06 22:46

Jeg har lige overtaget vedligeholdeldelsen af et større website, der
desværre er lavet med frames som folk googler sig ind på, så siderne står
forældreløse uden navigationsmenuer.

Jeg har derfor sat nogle javascipts ind på siderne bl.a. dette på hver af
indholdsiderne:

passpage = document.URL
if (top.location == self.location)
top.location.href="master.html?" + passpage

mens siden "master.html" (modificeret index.html) så er forsynet med scripts
der finder ud af at putte framen korrekt ind.

Det virker fint MEN der er et alvorligt problem: besøgende med IE kan ikke
komme tilbage igen ved hjælp af tilbage-knappen: de kommer aldrig videre
end til indholdssiden der så omgående smutter tilbage igen (jeg kan se på
min statestikregistrering at nogen klikker 20 gange inden de giver op.)

Jeg har derfor brug for at tilføje et par linier der undersøger om brugeren
lige har været på "master.html" og - hvis det er tilfældet - så kan sende
ham TRE trin tilbage i browserhistorien så han kommer tilbage til den
googleside han kom ind fra.

Jeg har forsøgt mig med:

passpage = document.URL
if (top.location == self.location){
str = document.history.back()
if (str.indexof('master') > -1){
document.history.go(-3)
}else{
top.location.href="master.html?" + passpage
}
}

Men det virker ikke (error on page)- hvad der ikke er underligt, da jeg slet
ikke er fortrolig med brugen af "history" objectet.

Kan nogen hjælpe med et forslag som jeg kan prøve?

Anders

 
 
Erik Ginnerskov (15-09-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-09-06 00:22

Anders wrote:
> Jeg har lige overtaget vedligeholdeldelsen af et større website, der
> desværre er lavet med frames som folk googler sig ind på, så siderne
> står forældreløse uden navigationsmenuer.
>
> Jeg har derfor sat nogle javascipts ind på siderne bl.a. dette på
> hver af indholdsiderne:
>
> passpage = document.URL
> if (top.location == self.location)
> top.location.href="master.html?" + passpage
>
> mens siden "master.html" (modificeret index.html) så er forsynet med
> scripts der finder ud af at putte framen korrekt ind.

Er alt det scripting-halløj ikke inspirationskilde nok til at hive det hele
ud af frames og i stedet bygge sitet op med ssi?

http://hjemmesideskolen.dk/html/incl.asp?id=inclssi

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Anders (15-09-2006)
Kommentar
Fra : Anders


Dato : 15-09-06 09:14

Erik Ginnerskov wrote:

> Er alt det scripting-halløj ikke inspirationskilde nok til at hive det
> hele ud af frames og i stedet bygge sitet op med ssi?

Jo, men at genopbygge sitet ville være et kæmpearbejde (100+ sider), og min
arbejdsopgave er bare at få det til at virke. Det er det jeg har forsøgt at
antyde kort ved at kalde tråden "frame-helvede".

Har du et forslag til hvordan man kunne få sådan et script til at virke? Jeg
har selv kun et meget pragmatisk kendskab til javascript.

Niels-Jørgen Hvidber~ (15-09-2006)
Kommentar
Fra : Niels-Jørgen Hvidber~


Dato : 15-09-06 12:22

Anders wrote in dk.edb.internet.webdesign.clientside:
> Erik Ginnerskov wrote:
>
> > Er alt det scripting-halløj ikke inspirationskilde nok til at hive det
> > hele ud af frames og i stedet bygge sitet op med ssi?
>
> Jo, men at genopbygge sitet ville være et kæmpearbejde (100+ sider), og min
> arbejdsopgave er bare at få det til at virke. Det er det jeg har forsøgt at
> antyde kort ved at kalde tråden "frame-helvede".
>
> Har du et forslag til hvordan man kunne få sådan et script til at virke? Jeg
> har selv kun et meget pragmatisk kendskab til javascript.

Hvad med én asp side der viser menuen og dine 100+ sider ?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Erik Ginnerskov (15-09-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-09-06 21:18

Anders wrote:

> Jo, men at genopbygge sitet ville være et kæmpearbejde (100+ sider),
> og min arbejdsopgave er bare at få det til at virke.

så er det da heller ikke værre. du fjerner i f.eks. din menu.html alt fra
tippen til og med <body> samt </body></html>.

Derefter idnsætter du på alle dine 100 sider på det sted, hvor menukoden
skulle have været vist, denne enkle kodelinje:

<!--#include file="menu.html"-->

Tilsvarende med eventuel topbar.html og footer.html - fjern alt til og med
<body> og de sidste to tags og lav så en include-kode passende steder i dine
sider.

Slut med besværlige javascripts for at sikre korrekt visning af sider inde i
frameset. Og skal der korrigeres noget i menuen, er der kun en fil at rette
i, det har straks virkning på alle de sider, hvor menuen er inkluderet.

> Det er det jeg
> har forsøgt at antyde kort ved at kalde tråden "frame-helvede".

Netop, frames kan være et helvede. Derfor prøver jeg at hjælpe dig ud af det
helvede en gang for alle.

> Har du et forslag til hvordan man kunne få sådan et script til at
> virke? Jeg har selv kun et meget pragmatisk kendskab til javascript.

Jeg ved hvordan, men jeg vil ikke anbefale det, så jeg holder det for mig
selv. Brug ssi.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Anders (15-09-2006)
Kommentar
Fra : Anders


Dato : 15-09-06 15:29

Anders wrote:
> Kan nogen hjælpe med et forslag som jeg kan prøve?

never mind, jeg fik googlet mig til en noget nemmere og mindre Storm P-agtig
løsning:

passpage = document.URL
if (window == top) {
top.location.replace("master.html?" + passpage);
}

virker tilsyneladende ok i IE + Opera ? firefox, dvs.: tilbageknappen virker
stadig.

Anders

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste