Toon posts:

Dir. structuur in .js bestand gaat fout

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik heb een vraag. Ik heb een website gemaakt op basis van tabellen dus frameloos. Nu heb ik daarin een dynamisch menu. Alles werkt goed alleen als ik dus binnen het menu subitems aanklik dan gaat het bij de eerste keer goed maar daarna gaat het fout qua bestanden structuur.

Hierbij een stuk van het menu.js

Menu2_2=new Array("Guides","H1/test.htm","",2,20,100);
Menu2_2_1=new Array("Html","H1/test2.htm","",0,20,150);

Als ik dus vanuit index.htm binnen het menu Guides aanroep dan wordt netjes het bestand test.htm geopend in de map H1 echter als ik daarna menu Html aanroep dan gaat het fout en wil het menu het bestand openen in de map H1/H1/test2.htm.

Heeft het te maken met de manier van doc.structuur aangeven of kan het komen dat het .js terug gezet moet worden naar de begin structuur ??? Ik heb ook al geprobeert verder omhoog te gaan binnen de dir. structuur dus ../H1/ maar dat werkt ook niet.

In de htm bestanden roep ik het menu aan met de volgende code:
<body>
<script type='text/javascript'>
function Go(){return}
</script>
<script type='text/javascript' src='Menu/menu.js'></script>
<script type='text/javascript' src='Menu/menu_bron.js'></script>
</body>

Graag jullie advies. Heb al gezocht op GOT / google hierover maar kan geen goede oplossing vinden.

Thanks :)

  • samo
  • Registratie: Juni 2003
  • Laatst online: 13:14

samo

yo/wassup

misschien de root van je site in een JS variable opslaan en voortaan openen: root_variable / pagna.htm ofzo?
(ben een js noob maar zo doe ik het altijd met php)

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:32

crisp

Devver

Pixelated

Je paden zijn niet relatief tov de locatie van je js file, maar relatief tov de locatie van je HTML document waar de js file in gelinkt wordt.

Intentionally left blank


Verwijderd

Topicstarter
Dus ik moet denken vanuit Menu/menu.js stuctuur ?? en vandaar uit de directorystructuur aangeven.

Thanks

Verwijderd

Topicstarter
Crips,

Zou je niet een fictief voorbeeld kunnen geven zodat ik een beetje een opstap heb en het daarna voor mijn eigen voorbeeld kan gebruiken / proberen.

Thanks again van een JS noob.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:32

crisp

Devver

Pixelated

Likkebaard: ik denk dat je mijn post precies verkeerd begrepen hebt; je moet denken vanuit je HTML file, niet vanuit je JS bestand.
Het idee van samo-arne is zo slecht nog niet; zet in je js file standaard het volgende:

JavaScript:
1
var HTMLdir = '';


in je index.html kan je dat overschrijven:

JavaScript:
1
HTMLdir = 'H1/';


zorg verder dat je dit pad aan je bestandsnaam plakt, en dan moet het zowel vanuit de root als vanuit de H1 directory goed gaan.

Intentionally left blank


Verwijderd

Topicstarter
Crisp,

Qua html bestanden zet ik het zo??

<body>
<script type='text/javascript'>
function Go(){return}
HTMLdir='H1/";
</script>
<script type='text/javascript' src='Menu/menu.js'></script>
<script type='text/javascript' src='Menu/menu_bron.js'></script>
</body>

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:32

crisp

Devver

Pixelated

Verwijderd schreef op 18 november 2003 @ 17:49:
Crisp,

Qua html bestanden zet ik het zo??
[...]
right :)

[ Voor 42% gewijzigd door crisp op 18-11-2003 17:52 ]

Intentionally left blank


Verwijderd

Topicstarter
Grrr,

Crips nog steeds niet juiste resultaat..

Ik heb dus in het .js bestand de var gezet

Ik heb in de html bstanden de javascript code gezet maar nog steeds opent hij bij het 2e bestand niet de goede directory.. Ben al lang bezig en verder heb ik alles klaar qua site |:(


Zit hier nog wat fout ?? Want hier worden de bestanden aangeroepen vanuit de sub.directory's:

Menu2=new Array("Search","blank.htm","",2);
Menu2_1=new Array("Pedro","H1/test.htm","",0,20,100);
Menu2_2=new Array("Guides","","",2,20,100);
Menu2_2_1=new Array("Html","H1/test2.htm","",0,20,150);
Menu2_2_2=new Array("PDF","H2/test.htm","",0,0,120);

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:32

crisp

Devver

Pixelated

je zou ook kunnen overwegen met een basedir te werken die naar je root verwijst:

HTML:
1
<base href="http://mijn.server.com/root/">

Intentionally left blank


Verwijderd

Topicstarter
Oke,

Dus <base href="http://mijn.server.com/root/H1/test.htm">

Nou weer wat nieuw probeer spul. Het moet gewoon lukken 8)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:32

crisp

Devver

Pixelated

Verwijderd schreef op 18 november 2003 @ 18:36:
[...]
Nou weer wat nieuw probeer spul. Het moet gewoon lukken 8)
eerder:

code:
1
<base href="http://mijn.server.com/root/">

denk ik...

Intentionally left blank


Verwijderd

Topicstarter
Pfff,,

Crips thanks voor je antwoorden maar helaas kom ik niet tot een goede oplossing.

Ik heb zelf het idee dat het puur aan mijn menu.js structuur ligt.

Menu2_2=new Array("Guides","H1/test.htm","",2,20,100);
Menu2_2_1=new Array("Html","H2/test2.htm","",0,20,150);

Hierin zou ik op een bepaalde manier een relatieve structuur moeten kunnen geven zodat die altijd het juiste pad vind maar helaas...

:| :?

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Als het niet relatief lukt, bijvoorbeeld omdat alles dynamisch in elkaar steekt, dan kan je nog overwegen om met absolute paden te werken. Begin een url met "/" en je start altijd vanuit je webroot.

bijv. je structuur is:
code:
1
2
3
4
5
www.domein.nl / index.htm  
              / H1 / test.htm
              / H2 / test2.htm
              / Menu / menu.js
              / ...enz...

Dan wordt je code:

JavaScript:
1
2
Menu2_2=new Array("Guides","/H1/test.htm","",2,20,100); 
Menu2_2_1=new Array("Html","/H2/test2.htm","",0,20,150);

Today's subliminal thought is:

Pagina: 1