Toon posts:

[JavaScript] Foutje in functie?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Onderstaande functie heb ik geschreven voor een site. Hij dient ervoor om met één klik 2 verschillende pagina's in 2 verschillende frames te openen..

code:
1
2
3
4
5
  function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.main.location.href = '../' + Directory + '/' + Target + '.html';
     parent.tab.location.href = '../' + Directory + '/tab' + Target + '.html';
  }


vb: onClick="MakeLink('home','Inleiding');"

Hij moet dan in het frame "main" de pagina "../home/Inleiding.html" openen en in het frame "tab" de pagina "../home/tabInleiding.html".


Onder IE6 werkt het, maar onder IE5 niet. Bij IE5 opent hij nl alleen de eerste link. Dus er wordt wel een pagina geladen in het frame "main", maar niet in "tab". Weet iemand wat ik fout doe.. En zo ja: hoe kan ik dit voorkomen?

Hij is werkend te zien op: "http://i-mode.utwente.nl"

Thanx!

Verwijderd

ik zelf gebruik voor het aanpassen van frames nog het woordtje frames erbij. In jou geval dus parent.frames.main.location.href = ..............

verder zou ik het niet 123 zien wat er anders fout zou zijn.

Verwijderd

Topicstarter
Hmm, ok bedankt voor de tip!
Onder IE6 gebeurd er logischerwijs niks en IE5 kan ik pas morgen op school weer testen :(

Waarom kan ik nu niet gewoon een stuk of 4 versies van IE op één pc installeren?? :(

Thanx anyway!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Zet eens een 'return false' in je functie

Intentionally left blank


Verwijderd

Je hebt een slash in je code, maar dat wordt gezien als een speciaal teken ipv een 'leesteken'. Doe het eens zo: (weet niet of het werkt maar het is wel beter)

code:
1
2
3
4
5
  function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.main.location.href = '..\/' + Directory + '\/' + Target + '.html';
     parent.tab.location.href = '..\/' + Directory + '\/tab' + Target + '.html';
  }

Verwijderd

Topicstarter
Hmm, ondanks alle pogingen werkt het nog steeds niet :(

Grr! Zelfs als ik de volgorde omdraai krijgt alleen "main" een nieuwe pagina..
"tab" blijft dezelfde oude pagina :(

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 22 augustus 2002 @ 22:50:
Je hebt een slash in je code, maar dat wordt gezien als een speciaal teken ipv een 'leesteken'. Doe het eens zo: (weet niet of het werkt maar het is wel beter)

code:
1
2
3
4
5
  function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.main.location.href = '..\/' + Directory + '\/' + Target + '.html';
     parent.tab.location.href = '..\/' + Directory + '\/tab' + Target + '.html';
  }
Een forward slash heeft bij mij nog nooit problemen gegeven hoor...
Verwijderd schreef op 23 augustus 2002 @ 00:36:
Hmm, ondanks alle pogingen werkt het nog steeds niet :(

Grr! Zelfs als ik de volgorde omdraai krijgt alleen "main" een nieuwe pagina..
"tab" blijft dezelfde oude pagina :(
Zo ook niet:
code:
1
2
3
4
5
6
function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.main.location.href = '../' + Directory + '/' + Target + '.html';
     parent.tab.location.href = '../' + Directory + '/tab' + Target + '.html';
    return false;
  }

?
wel zorgen dat dit de laatste functie is die in je onClick wordt aangeroepen.

Intentionally left blank


  • AxiMaxi
  • Registratie: December 2000
  • Laatst online: 27-05 15:33
Heb je het al 's geprobeerd met (let op frame[...]):

code:
1
2
3
4
5
  function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.frame['main'].location.href = '../' + Directory + '/' + Target + '.html';
     parent.frame['tab'].location.href = '../' + Directory + '/tab' + Target + '.html';
  }


edit
Je kan 'main' en 'tab' ook door getallen vervangen. De getallen corresponderen met de nummers van de frames c.q. de volgorde waarin je ze 'aanmaakt'.

[ Voor 0% gewijzigd door AxiMaxi op 23-08-2002 08:35 . Reden: hij kreeg nog een idee ]

[Hier had mijn handtekening kunnen staan]


Verwijderd

Verwijderd schreef op 23 augustus 2002 @ 00:36:
Grr! Zelfs als ik de volgorde omdraai krijgt alleen "main" een nieuwe pagina..
"tab" blijft dezelfde oude pagina :(
Misschien een domme vraag, maar weet je zeker dat je frame tab heet? en niet Tab (let dus ff op je caps)

misschien is tab wel een woordje dat JavaScript niet leuk vind. probeer eens een andere framename.

Is het misschien niet nog een frame die tab heet?!
zomaar wat wilde gokken....

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

AxiMaxi schreef op 23 augustus 2002 @ 08:32:
Heb je het al 's geprobeerd met (let op frame[...]):

code:
1
2
3
4
5
  function MakeLink(Directory, Target){
     Target = Target.replace("_","");
     parent.frame['main'].location.href = '../' + Directory + '/' + Target + '.html';
     parent.frame['tab'].location.href = '../' + Directory + '/tab' + Target + '.html';
  }


edit
Je kan 'main' en 'tab' ook door getallen vervangen. De getallen corresponderen met de nummers van de frames c.q. de volgorde waarin je ze 'aanmaakt'.
eeehhmmz, het is nog altijd parent.frames['main'].location.href etc.

Intentionally left blank


  • AxiMaxi
  • Registratie: December 2000
  • Laatst online: 27-05 15:33
crisp schreef op 23 augustus 2002 @ 10:23:
[...]

eeehhmmz, het is nog altijd parent.frames['main'].location.href etc.
Pfff... je hebt altijd van die mensen die over details vallen... :Z


;)

[Hier had mijn handtekening kunnen staan]


  • André
  • Registratie: Maart 2002
  • Laatst online: 01-09 14:07

André

Analytics dude

code:
1
2
3
4
5
6
function MakeLink(Directory, Target)
{
  Target = Target.replace("_","");
  window.open ("../" + Directory + "/" + Target + ".html", "main");
  window.open ("../" + Directory + "/tab" + Target + ".html", "tab");
}


vb: onClick="MakeLink('home','Inleiding');"
Pagina: 1