Avatar billede cskaade Nybegynder
27. februar 2000 - 13:51 Der er 4 kommentarer og
1 løsning

JavaScript så siden åbnes i "frames"

Jeg har her et JavaScript som kan tvinge en side til at blive åbnet i en ”frames”, problemet er at jeg har en hovedside hvor min menu er ude i siden, men når jeg henviser til ”frames” siden åbner den min forside. Hvordan får jeg den til at åbne den side man prøver at åbne, men stadigt bliver åbnet i ”frames”.

<SCRIPT LANGUAGE="JAVASCRIPT">
if(top.location == self.location) {
    top.location.href = "index.html"
}
</SCRIPT>
Avatar billede olebole Juniormester
27. februar 2000 - 17:35 #1
<ole>

<script language="JavaScript"><!--
var bla = self.location+'';
// Isolerer dette dokuments navn og danner en 'search'-streng
var page = "?"+bla.substring(bla.lastIndexOf('/'),bla.length);

if(top.location == bla) {
    top.location.href = "index.html"+page;
}
// -->
</script>

I dit menu-dokument skriver du:

<script language="JavaScript"><!--
if (location.search) {
    parent.framenavn.location.href = location.search.substring(1,location.search.length);
}
// -->
</script>

/VH
</bole>
Avatar billede cskaade Nybegynder
27. februar 2000 - 22:02 #2
Jeg mener ikke at jeg skal bruge en kode til de sider der åbnes fra menuen, men til hvis man skulle åbne en side uden om menuen, så skulle javascript sikre at siden blive åbnet i ”frames” i stedet for for sig selv, så ”frames” bliver hentet.

VH.

cskaade
Avatar billede olebole Juniormester
28. februar 2000 - 03:10 #3
Det er lige præcis, hvad scriptet gør!

Du 'lugter' med det første script (som står på alle sider - undtaget din frames-side og menu-side), hvad den side, du prøver at loade udenom frames, hedder. Det sender du videre med URL'en til din frames-side således:

'index.html?den_side_du_prøvede_at_komme_ind_på_men_som_skal_loades_i_frames'

Det, der står i din URL (efter '?'), bliver opsnappet af scriptet i dit menu-dokument. Dette script loader så den side, du prøvede at komme ind på, i framesettet - ved siden af din menu (eller under den - alt efter hvordan dit frameset er konstrueret).

Du kan - i stedet for at anbringe det sidste script i menu-dokumentet - også anbringe det i framesettets 'head'. I så fald skal du slette 'parent' således:

<script language="JavaScript"><!--
if (location.search) {
    framenavn.location.href = location.search.substring(1,location.search.length);
}
// -->
</script>

'Framenavn' er selvfølgelig navnet på den frame, dokumentet skal loades i.

Håber det hjalp på forståelsen ;-)

/VH
Ole
Avatar billede cskaade Nybegynder
28. februar 2000 - 22:22 #4
Hej  ole

Jeg kan ikke finde ud af og få det til at virke men jeg er heller ikke vand til JavaScript, jeg håber du kan hjælpe mig, hvis jeg giver dig nogle flere oplysninger.

Frames siden hedder index.html og er sat til at standard skal åbne menu.html åbns i menu & forsiden.html
Den side der skal åbne frames hedder program.html og skal åbnes i den frames der hedder tekst.

Hvordan passer jeg Script til så det kan gøre det.

Vh.

cskaade
Avatar billede cskaade Nybegynder
08. marts 2000 - 23:30 #5
Har fundet en løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester