Avatar billede stkol Nybegynder
02. juli 2003 - 12:33 Der er 19 kommentarer og
1 løsning

JavaScript Multiload i underframe

Hejsa

Jeg har et lille script som åbner 2 sider i 2 frames, dette virker også hvis man bruger linket i en af de frames som man skal have åbnet, men sætter jeg linket i en frame som er længere oppe i hierakiet, kan jeg ikke få det til at virke

Scriptet jeg bruger er :

<script LANGUAGE="JavaScript">

function multiload(URL1,URL2) {
parent.nav.location.href=URL1;
parent.nav.document.close();
parent.content.location.href=URL2;
parent.content.document.close();
}

</script>

<A href="#" onclick="java script:multiload('navenglish.asp', 'engelskforside.asp');" onMouseOver="this.style.cursor='hand';" onMouseOut="this.style.cursor='default';"><font size="1"><b>Click here for </b></font><img src="img/britishflag.gif" border="1" bordercolor="#000000"></a>



Hvad skal jeg bruge istedet for parent???

/Stig :-)
Avatar billede roenving Novice
02. juli 2003 - 12:39 #1
top

-- og fjern så den ugyldige script-kode fra din onclick-event-handler

java script: er noget avanceret vrøvl (og som sagt ugyldig) ...

-- svarer lidt til at sige at cykler skal køre med lys på motorveje, det er _kun_ javascript, som er gyldig her ,-)
Avatar billede stkol Nybegynder
02. juli 2003 - 12:44 #2
roenving > Jeg får fejlen at top.nav.location is null or not an objekt ?!!?!?
Avatar billede roenving Novice
02. juli 2003 - 12:47 #3
så prøv med top.frames['nav'].location ...
-- det kan være at kommunikationen skal via det universelle frames-array ;O)
Avatar billede mm12010 Nybegynder
02. juli 2003 - 12:50 #4
kan man ikke bare bruge:

top.location.href
Avatar billede stkol Nybegynder
02. juli 2003 - 12:52 #5
mm12010 > Nej, for så får jeg jo ikke fat i NAV framen!!
Avatar billede roenving Novice
02. juli 2003 - 12:55 #6
>>mm12010

Jo selvfølgelig, hvis man altså har lyst til at blive fuldstændig af med sin fint opbyggede frame-struktur ...
Avatar billede =maddog= Nybegynder
02. juli 2003 - 13:01 #7
du må selv hitte rundt i det. her er spillereglerne:
parent == det frameset denne frame ligger i
self == denne frame
top == det absolut øverste frameset

alle framesets har et array af frames
_pointer.frames[]

disse frames kan indexeres som array eller via pointer. De to følgende statements er ens
top.frames["main"]
top.frames.main
og endeligt skulle
top.main
også virke

document.close(); er så vidt jeg kan se en overflødigt statement, da du ikke har skrevet i dokumentet.

java script: er en (gammel) protokol angivelse. den skal anvendes i href og ikke i onclick.
Avatar billede =maddog= Nybegynder
02. juli 2003 - 13:03 #8
og en ting til. hvis f.x. main fra ovenstående også indeholder et frameset kan vi få fat i dem med
top.frames["main"].frames["tools"]
top.frames.main.frames.tools
top.main.tools
Avatar billede stkol Nybegynder
02. juli 2003 - 13:10 #9
Øv det dur ikke noget af det!!! For at siden kan være bygget op som den er, bruger jeg en masse framesets, hvilket vil sige at jeg har en index som starter med en frame, derefter kommer der 3 dokumenter som har framesets!! kan det have noget med det at gøre???
Avatar billede roenving Novice
02. juli 2003 - 13:11 #10
-- og jeg har ikke selv været ude i det, men min reference siger, man kan bruge top.frames['tools'] direkte i =maddog=s eksempel ...
Avatar billede roenving Novice
02. juli 2003 - 13:12 #11
Hvorfor har du ikke bare alle dine framesets i det samme dokument ?-)
Avatar billede stkol Nybegynder
02. juli 2003 - 13:13 #12
Hvad kører TOOLS specifikationen under????
Avatar billede stkol Nybegynder
02. juli 2003 - 13:14 #13
ROENVING > Det har noget med opbygningen at gøre!
Avatar billede roenving Novice
02. juli 2003 - 13:19 #14
Hov uhensigtsmæssig linjedeling:
top.frames['tools'].location osv...

Jo, men det kan vel ikke spille den store trille at have det:

<frameset cols="*,500,*">
  <frameset rows="*,400,*">
    <frame>
    <frame>
    <frame>
  </frameset>
  <frameset rows="120,400,*">
    <frame>
    <frame>
    <frame>
  </frameset>
  <frameset rows="120,80,80,80,80,80,*>
    <frame>
    <frame>
    <frame>
    <frame>
    <frame>
    <frame>
    <frame>
  </frameset>
</frameset>
Avatar billede stkol Nybegynder
02. juli 2003 - 13:27 #15
Framesets er bygget sådan her op

Første fil :

<FRAMESET border=0 frameSpacing=0 frameBorder=0 cols=*,776,*>
          <FRAME name=left marginWidth=0 marginHeight=0 src="frame/bg.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=middle marginWidth=0 marginHeight=0 src="frame/midframe.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=right marginWidth=0 marginHeight=0 src="frame/bg.asp" frameBorder=0 noResize scrolling=no>
</FRAMESET>

Anden fil

<FRAMESET border=0 frameSpacing=0 rows=20,1,* frameBorder=0 bottommargin="0" topmargin="0" rightmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
  <FRAME name=top marginWidth=0 marginHeight=0 src="top.asp" frameBorder=0 noResize scrolling=no>
  <FRAME name=horisontal marginWidth=0 marginHeight=0 src="horisontal.asp" frameBorder=0 noResize scrolling=no>
    <FRAME name=contentframe marginWidth=0 marginHeight=0 src="contentframe.asp" frameBorder=0 noResize scrolling=no>
</FRAMESET>

tredje fil

<FRAMESET border=0 frameSpacing=0 frameBorder=0 cols=1,*,1>
          <FRAME name=left marginWidth=0 marginHeight=0 src="bgframe.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=middle marginWidth=0 marginHeight=0 src="innerframe.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=right marginWidth=0 marginHeight=0 src="bgframe.asp" frameBorder=0 noResize scrolling=no>
</FRAMESET>

fjerde fil

<frameset rows="120,*" border="1">
    <frame name="logo" src="logo.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
    <frameset rows="80%,25" border="1" bgcolor="000000">
        <frameset cols="175,*" border="1">
            <frame name="nav" src="frontnav.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
            <frame name="content" src="content.asp" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="1" bordercolor="000000" noresize="noresize">
        </frameset>
        <frame name="copy" src="copyright.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
    </frameset>
</frameset>

Jeg skal fra 2 frame til 4 frame  !!
Avatar billede roenving Novice
02. juli 2003 - 13:40 #16
Kan du ikke i din multiload prøve at teste om der er noget i vejen til 'nav'-framen med lidt alerting ...

-- og så kunne du jo :)

<FRAMESET border=0 frameSpacing=0 frameBorder=0 cols=*,776,*>
      <FRAMESET border=0 frameSpacing=0 rows=20,1,* frameBorder=0 bottommargin="0" topmargin="0" rightmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
          <FRAME name=top marginWidth=0 marginHeight=0 src="top.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=horisontal marginWidth=0 marginHeight=0 src="horisontal.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=contentframe marginWidth=0 marginHeight=0 src="contentframe.asp" frameBorder=0 noResize scrolling=no>
      </FRAMESET>
      <frameset rows="120,*" border="1">
            <frame name="logo" src="logo.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
            <frameset rows="80%,25" border="1" bgcolor="000000">
            <frameset cols="175,*" border="1">
            <frame name="nav" src="frontnav.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
            <frame name="content" src="content.asp" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="1" bordercolor="000000" noresize="noresize">
            </frameset>
            <frame name="copy" src="copyright.asp" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize="noresize">
            </frameset>
            </frameset>
      <FRAMESET border=0 frameSpacing=0 frameBorder=0 cols=1,*,1>
          <FRAME name=left marginWidth=0 marginHeight=0 src="bgframe.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=middle marginWidth=0 marginHeight=0 src="innerframe.asp" frameBorder=0 noResize scrolling=no>
          <FRAME name=right marginWidth=0 marginHeight=0 src="bgframe.asp" frameBorder=0 noResize scrolling=no>
      </FRAMESET>
</FRAMESET>

-- så skal du lige ikke-vedligeholde et par filer mere ...
Avatar billede stkol Nybegynder
02. juli 2003 - 15:11 #17
roenving > Jeps!! jeg ha´r nu bygget det op i en fil, og så ruller scriptet, Thanks :-) Gider du smide et svar så du kan få dine point *S
Avatar billede roenving Novice
02. juli 2003 - 15:19 #18
Velbekomme '-)

-- men jeg havde nu opfattet det, som at frames-arrayet dækkede hele dom-strukturen og ikke kun eet frameset-dokument ...

-- men jeg lærer, ergo lever jeg ...
Avatar billede roenving Novice
02. juli 2003 - 15:20 #19
;O)
Avatar billede roenving Novice
02. juli 2003 - 16:10 #20
-- og tak for points ;~}
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