Avatar billede oasen Nybegynder
28. januar 2002 - 18:45 Der er 8 kommentarer og
1 løsning

Multiload

Jeg har lige fået multiload til at fungere med to rammer. Øverste ramme indeholder en lille menu med links. Når der klikkes på et af disse, hentes en ny menu og nederste ramme (mainframe´n) får også en ny side.
Men skal man tilbage efter multiload, skal der trykkes to gange på "Back" - man skal tilbage med 2 i historien.

I den forbindelse faldt jeg over http://www.eksperten.dk/spm/3520, hvor dette problem tilsyneladende er løst.
Men jeg kan ikke helt få det til at fungere ordentligt. Er der nogen, der kan sige mig, hvad jeg skal indsætte i HTML-siderne, der hentes ind i hver af de to rammer?

(For nemhedens skyld kan vi kalde den første menu A1 og det første maindokument B1.
Den nye menu vil så hedde A2 og det nye maindokument B2.)
Avatar billede oasen Nybegynder
28. januar 2002 - 19:42 #1
Hmm.....
Avatar billede oasen Nybegynder
28. januar 2002 - 20:39 #2
Er der virkelig ingen, der kan svare på det - eller er der for lidt points?
Avatar billede jakoba Nybegynder
28. januar 2002 - 23:20 #3
Der er forskellige måder at gøre det på. den du har fundet ville jeg nok ikke bruge.

Snarere noget i retning af:

menurammer og indholdsrammer er hører sammen i par. til hver indholdsramme er der een og kun een menu side der hører til.

Så hvis du nøsen med at skifte indholdssiden kan vi lave lidt javascript der læser på indholdssiden hvilken menuside der hører til og sørger for den bliver indlæst.

i indholdssiden:
<script type='text/javascript'>
var minMenu = "dentilhorendemenuside.html";
</script>

i ALLE menusiderne indsættes så et lille javascript der løbende check om indholdssiden er blevet ændret og sørger for at ændre menusiden så den svarer til den nye indholdsside:

<script type='text/javascript'>

var denneMenu = "denneMenuSide.html";

function pollOk( ) {
    if (    parent.indholdsRamme.minMenu
          && parent.indholdsRamme.minMenu != denneMenu ) { // indholdsrammen har ændret sig
        self.location.replace( parent.indholdsRamme.minMenu ); // opdater menuRammen
    } else {
      setTimeout( pollOk()", 100 );    // test igen om 100 millisekunder
    }
}; //end pollOk( )

pollOk();  // start polling.

</script>

det eneste link du laver er helt standard enkeltlinks der ændrer indholdsrammen. menurammen følger selv med.

mvh JakobA
Avatar billede oasen Nybegynder
28. januar 2002 - 23:35 #4
Tak for svaret - det ser umiddelbart meget fornuftigt ud. Jeg leger lige lidt med det, og så vender jeg tilbage :)
Avatar billede oasen Nybegynder
29. januar 2002 - 00:31 #5
Jeg kan ikke få det til at virke...

Min indholdsramme hedder "main" og menurammen hedder "top".

I alle sider der indgår i "main" har jeg indsat:

<script type='text/javascript'>
var minMenu = "dentilhorendemenuside.html";
</script>

Der hvor der står indholdsramme i scriptet har jeg i stedet indsat "main".

Når jeg trykker på et link i "top", der skal hente en side ind i "main", er det kun "main"-rammen, der ændres.
Hvorfor mon? Skal funktionen onloades, eller gør den det selv? På forhånd tak...
Avatar billede oasen Nybegynder
29. januar 2002 - 01:27 #6
Jeg har lavet en testversion til dig. Så er det lettere for dig at finde fejlen(e).

http://www.whynet.dk/test/multiload/
Avatar billede ras2000 Nybegynder
29. januar 2002 - 16:09 #7
Du mangler " i linie 17. Der skal stå
      setTimeout( "pollOk()", 100 );    // test igen om 100 millisekunder
ikke
      setTimeout( pollOk()", 100 );    // test igen om 100 millisekunder
Avatar billede ras2000 Nybegynder
29. januar 2002 - 16:28 #8
Men jeg kan nu stadig ikke få det til at virke som det skal. Jakoba, har du testet det?
Avatar billede oasen Nybegynder
29. januar 2002 - 17:09 #9
Tak begge to - det virker nu!!
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

IT-JOB

Politiets Efterretningstjeneste

IT Sikkerhedsarkitekt i PET

Forsvarets Efterretningstjeneste

Network engineer - Routing & Switching

Netcompany A/S

Linux Operations Engineer

Politiets Efterretningstjeneste

Sektionsleder til IT Porteføljestyring i PET