Avatar billede ladyhawk Praktikant
16. februar 2003 - 00:50 Der er 22 kommentarer og
1 løsning

onload??

Hej med jer.

Jeg har læst de indlæg om onload-koder, men kan ikke finde en løsning på mit problem.

Jeg har en side med 1 vandret frame øverst, og 3 lodrette under den øverste frame. Jeg kan unden problemer onloade in vpanel til main, men når jeg vil have en onload i vpanel til main, og samtidig en onload fra main til hpanel går det galt. Kan man ikke det???

Jeg vil bleve rigtig glad hvis nogen kan hjælpe mig.
På forhånd tak for hjælpen ;o)
ladyhawk
Avatar billede kourosh Nybegynder
16. februar 2003 - 01:04 #1
<script type="text/javascript">
function changeurl()
{
parent.hpandel.location.href="../home/home.asp"
}
</script>

når du kalder metoden changeurl() den skifter siden i hpandel til home.asp
Avatar billede kourosh Nybegynder
16. februar 2003 - 01:12 #2
fx. onload='changeurl();'
Avatar billede ladyhawk Praktikant
16. februar 2003 - 01:13 #3
Hmmm  virker ikke....

Her er url'en  www.crazyq.dk
Du skal gå efter det link der hedder arrangementer, det er her jeg vile have hpanel dokumentet til at loade når jeg aktiverer linket 1998 i venstre side.....håber det giver et mere klart billede af hvad jeg mener :)
Avatar billede kourosh Nybegynder
16. februar 2003 - 01:20 #4
der står:
onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen; tur_1.hpanel.location.href='1998.html; window.open = SymTmpWinOpen;"

prøv den jeg har skrivet i stedet for. jeg har såden en på min hjemmeside og virker fint.
Avatar billede ladyhawk Praktikant
16. februar 2003 - 01:30 #5
Loader den 2 dokumenter samtidig?
Avatar billede kourosh Nybegynder
16. februar 2003 - 01:37 #6
hvad mener du med 2 dokumenter. den skal loade home.asp i frame hpande og hvis den loader en anden det er fordi du har en anden i din 1998.html og er:
onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen; aarstal.vpanel.location.href='1998.html"
Du skal fejerne den.
Avatar billede kourosh Nybegynder
16. februar 2003 - 01:44 #7
den står på din 1998.html:
onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen; aarstal.vpanel.location.href='1998.html; window.open = SymTmpWinOpen;"
Prøv med at fjerne den, den kalder samme side igen.
Avatar billede ladyhawk Praktikant
16. februar 2003 - 02:01 #8
Ja du må meget undskylde, men jeg kan ikke se at der står:onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen; aarstal.vpanel.location.href='1998.html; window.open = SymTmpWinOpen;"
nogen steder.....
Avatar billede kourosh Nybegynder
16. februar 2003 - 02:05 #9
http://www.crazyq.dk/1998.html
og højre klik og view source. så kan du i det <body ....>
Avatar billede kourosh Nybegynder
16. februar 2003 - 02:06 #10
så kan du se det i <body ....>
Avatar billede olebole Juniormester
16. februar 2003 - 03:13 #11
<ole>

I dit dokument 'aarstal.html' har du følgende onload-handler i body-tag'et:
  onload="tur_1.hpanel.location.href='1998.html'"
Hvis du omskriver den til:
  onload="parent.hpanel.location.href='1998.html'"
... så betyder det på 'menneske-sprog':
"Når dette dokument (aarstal.html) er færdig-loaded, så load det dokument, der hedder '1998.html' ind i den frame, der hedder 'hpanel'".

Det formoder jeg ikke er, hvad du ønsker. Såvidt, jeg kan gennemskue, vil du først loade '1998.html' ind i frame'en 'hpanel', når du trykker på linket '1998' - og derved loader 'tur_1.html' ind i 'main'.
Hvis det er rigtig, skal du slette din onload-handler i 'aarstal.html' og i stedet skrive denne i body-tag'et i 'tur_1.html':
  onload="parent.hpanel.location.href='1998.html'"

Så vil du med dit link skifte dokumentet i 'main'. Dette dokument vil så - når det er færdig med at indlæse - skifte dokumentet i 'hpanel'. Comprende?

Du adresserer en frame i samme frameset med: "parent.FRAMENAVN".
'parent' refererer til frameset'et - og når du så er derude, kan du 'tiltale' en frame med sit navn.

En event-handler kan fyre en JavaScript-kommano af, når en bestemt hændelse (event) indtræffer. Du kender måske onclick-handleren:
  <a href="http://www.google.com" onclick="alert('Du er på vej til Google')">LINK</a>
Den fyres af, når du klikker på linket ... hændelsen (event'en) er et klik.

Onload-handleren fyres af, når hændelsen der indtræffer er, at det pågældende dokument er loaded ... dokumentet er færdig-indlæst.

Håber, det hjalp lidt på forståelsen ... ellers må du bare spørge videre  :)

/mvh
</bole>
Avatar billede olebole Juniormester
16. februar 2003 - 03:46 #12
Dernæst har jeg lige et par 'anker'  :)

Et HTML-dokument må ikke begynde med et tal. Kald derfor dine dokumenter 'bla_1998.html' - eller, hvad du nu måtte finde passende og logisk.

Dine links i top-dokumentet bliver ikke - som ønsket - vist i skriften tahoma, da du er kommet til at stave det forkert. De vises i verdana, da dette er din anden-prioritet - og browseren ikke kender 'tahoman'. Skriften 'arial' har du i øvrigt også stavet forkert  :)

Man bruger idag helst ikke font-tags. Skriv i stedet imellem <head> og </head> denne kode:

<STYLE TYPE="text/css">
BODY {
    background-color: #000000;
}
TD {
    font-family: tahoma, verdana, arial;
    font-size: 12px;
    color: #ffffff;
}
A {
    font-family: tahoma, verdana, arial;
    font-size: 12px;
    color: #000000;
    text-decoration: none;
}
A:visited {
    color: #cccccc;
    text-decoration: underline;
}
A:active {
    color: #ffffff;
    text-decoration: underline;
}
A:hover {
    color: #000000;
    text-decoration: underline;
}
</STYLE>

Og slet så de ting, du har stående i body-tag'et ang. farver - og slet dine font-tags. Så kører du med en mere up-to-date kode.
'color' angiver tekst-farve ... 'background-color' siger vel sig selv.
En såkaldt hex-farve (#ffffff, eller #336699) fortæller, hvor meget de tre farvede lyskanoner i skærmen skal lyse:
# (to tegn for rød) (to tegn for grøn) (to tegn for blå).
Mulige tegn er i stigende orden: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e og f.
#000000 er således sort (alle tre slukkede) - mens #ffffff er hvid (Fuld Fart på alle tre). #003399 er en blå farve med en lille smule grønt i.

De '12px' kan det godt være, du skal 'pille' lidt med - alt efter, hvor stor teksten skal være.

Derudover er din aller første linie ikke særlig god. Den skal fortælle browseren, hvilken version af HTML, du skriver i - og dermed, hvordan den skal fortolke og vise din kode. Prøv denne i stedet:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Lige under <head> og over <title> bør du skrive:
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Der er fortæller browseren, hvilket tegnsæt du gerne vil have den bruger. Det er ikke mindst vigtigt for os skandinaver med alle vores proprietære bogstaver, som 'æ', 'ø' og 'å'.

Slut på "HTML med OleBole" for denne omgang  ;o)
/mvh
Avatar billede olebole Juniormester
16. februar 2003 - 03:53 #13
Ehhhh ... ups ... denne:
A:visited {
    color: #cccccc;
    text-decoration: underline;
}
... skal nok hedde:
A:visited {
    color: #cccccc;
    text-decoration: none;
}

Den angiver, hvordan et besøgt link skal se ud. En anden farve - men ikke understreget (går jeg udfra)  :)
Avatar billede ladyhawk Praktikant
16. februar 2003 - 16:36 #14
Det var ellers noget af et svar. Selv jeg kan forstå det *S*

-olebole- Det jeg vil have skal ske er, at når linket "arrangememter"  i top-frame aktivers, lodes "aarstal" i vpanel, der så loader tur_1 i main-framen.
Når det så er gjort, skal "1998" loades i hpanel, når linket "1998" i vpanel aktivers.....Var det også det du mente???
Sådan forstår jeg det, og det er hvad jeg vil have skal ske. Jeg vil hermed afprøve dit svar, og vende tilbage....forløbig tak for hjælpen...
Avatar billede ladyhawk Praktikant
16. februar 2003 - 16:38 #15
Tilføjelse: Det er jo 2 dokumenter der skal loades, sådan at når "arrangememter" aktiveres, loades begge dokumenter i vpanel og main-frame.
;o)
Avatar billede olebole Juniormester
16. februar 2003 - 21:23 #16
Hmmm ... jeg tror (for nu at gøre forvirringen total - hehe) at jeg ville vælge en helt anden og mere generisk løsning  :)

Vi er enige om, at en fil bliver loaded i den frame, du skriver i dit target:
  <a href="fil_et.html" target="vpanel">LINK</a>
Dette link loader filen 'fil_et.html' ind i frame'en 'vpanel'. So far - so good.

Hvis du så i din frameset-fil skriver denne funktion mellem <head> og </head>:
function loadFrames() {
    var a=arguments;
    for ( i=0; i<a.length; i+=2 ) {
        document.frames[a[i]].location.href = a[i+1];
    }
}
kan du loade filer ind i andre frames, samtidigt:
  <a href="fil_et.html" target="vpanel" onclick="top.loadFrames('main','fil_to.html')">LINK</a>
Dette link vil nu loade 'fil_et.html' ind i 'vpanel', ligesom før - men samtidig loade 'fil_to.html' ind i 'main'.

Ikke nok med det ... du kan loade filer ind i så mange forskellige frames, du måtte ønske dig. Blot skriv frame og fil i par (frame'en først):
  onclick="top.loadFrames('main','fil_to.html', 'hpanel','fil_tre.html')"

Du kan altså selv vælge, hvilke frames du vil loade i - og selv vælge filen, der skal loades ind i den pågældende frame.

Du har nu mulighed for at parre dit target og funktionen på alle mulige måder - alt efter, hvad du måtte ønske at loade ind, hvor.
Det tror jeg er meget bedre end det 'andalusiske onload-helvede', du ellers let vil havne i  ;o)
Samtidig vil siderne loade simultant - i stedet for den ene side skal loade helt, før den loader den næste side - der så skal loade helt, før den loader den tredie side, osv.

Funktionen kan kaldes fra alle sider i dit frameset ... altså også fra dine årstals-links, hvis du ønsker, disse både loader sider ind i 'main' og 'hpanel'. Det giver dig bedre udvidelses muligheder på lang sigt.

Undskyld, jeg ledte dig lidt på vildspor i mit første indlæg - men jeg kan jo håbe på, det har givet en lidt bedre forståelse af, hvad det er der sker  :)
/mvh
Avatar billede olebole Juniormester
16. februar 2003 - 21:27 #17
For en sikkerheds skyld må jeg lige pointere, at funktionen skal skrives mellem script-tags:

<script type="text/JavaScript">
function loadFrames() {
    var a=arguments;
    for ( i=0; i<a.length; i+=2 ) {
        document.frames[a[i]].location.href = a[i+1];
    }
}
</script>

Bare spørg, hvis du støder ind i probleeehhh ..... udfordringer  ;o)
Avatar billede ladyhawk Praktikant
16. februar 2003 - 21:34 #18
Er det et style sheet du snakker om???
Altså: function loadFrames() {
    var a=arguments;
    for ( i=0; i<a.length; i+=2 ) {
        document.frames[a[i]].location.href = a[i+1];
    }
}
;o)
Ja du må undskylde men jeg er stadig ret ny på området, og skal have ting skåret ud i pap, hvilket du er ret god til *S*
LH
Avatar billede ladyhawk Praktikant
16. februar 2003 - 21:48 #19
Ooops den haved jeg ikke lige set.

Nu skal du ikke sige mere end du kan holde *S* Jeg skal nemlig også både lave gæstebog og en brugernavns beskyttet side, sååååå jeg får nok rug for mere hjælp. Det er nemlig første gang jeg skal prøve kræfter med dette.....
LH
Avatar billede ladyhawk Praktikant
16. februar 2003 - 21:55 #20
-olebole-
Oki Doke...Det virker sgu...hold da .... hvor er jeg glad, jeg virkelg knoklet inden jeg kontaktede jer gutter her på eksperten. Jeg vill jo selv og måtte opgive, men har virkelig fået proff hjælp her. Skulderklap og Knuzer her fra LadyHawk *SS*

PS! Har bare et lille problem. Du skal lige komme igen men som svar så jeg kan give dig mine point ;o)
Avatar billede ladyhawk Praktikant
16. februar 2003 - 22:32 #21
Lige et tillægs spørgsmål: Hvordan lukkes dokumentet i hpanel automatisk, når der aktiveres et nyt link i top-framen????
Avatar billede olebole Juniormester
16. februar 2003 - 22:36 #22
Jamen, så få vi jo kam til toupéten  =8-O
Skal I lave gæstebog og beskyttede områder, skal I sørge for, jeres webhotel understøtter et serverside scripting sprog - f.eks. PHP eller ASP. Begge er lige brugbare - jeg foretrækker selv PHP (skriver dog også ASP) - men du vil blive overdænget af mere eller mindre religiøse argumenter, hvis du spørger folk, hvad der er bedst  ;o)

Det glæder mig, vi nåede frem til en brugbar løsning.
/mvh
Avatar billede olebole Juniormester
16. februar 2003 - 22:41 #23
Til spørgsmålet (16/02-2003 22:32:46):
Du bruger din nye funktion. Du kalder en side frem med 'href' og 'target' - samtidig med, du loader en 'tom', sort side i 'hpanel' med funktionen.

Som sagt kan du kalde funktionen fra dokumenter i alle frames - og dermed loade et hvilket somhelst dokument - i hvilken somhelst frame.

Comprende ...?
/mvh
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