[html/xml] navigatie en geen frames.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op mijn huidige website maak ik gebruik van frames om te kunnen navigeren. Ik ben op dit moment bezig om al mijn java projecten van elkaar te scheiden (vooral veel kleine handige api`s) en ze mbv maven volledig te automatiseren.

Het enigste probleem aan mijn website is dat als je een link maakt naar een bepaalde pagina (bv een bepaald project), je alleen dat frame in de browser krijgt te zien ipv mijn volledige navigatie hierom heen. Ik heb het al voor elkaar dat ik niet meer werk met frames maar met een layers (divs). Ik krijg het met een javascript wel voor elkaar dat hij automatisch het juiste item in die browse tree gaat open.

Mijn vraag is alleen hoe ik het beste ervoor kan zorgen dat iedere pagina van mijn website automatisch dat navigatie gedeelte er omheen krijgt. Ik had al zitten denken aan aan soort template en een transformatie (XSLT) waarin je iedere pagina automatisch gaat toevoegen, en dit ook even mbv een script gaat automatiseren.

Maar zijn er betere oplossing? Ik ben verder niet vies van technieken die alleen op de modernste browsers zitten (want dan moeten mensen maar een degelijke browser uitzoeken om op mijn site rond te kijken).

[edit]
En die browse tree aan de zijkant die moet dan ook op iedere pagina worden ingeladen. Dit is een beetje onnodig.

[edit2]
Ik gebruik geen php.

[ Voor 12% gewijzigd door Alarmnummer op 23-09-2003 15:32 ]


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 19-08 23:05
Met javascript een functie aanroepen die in het current frame een pagina opent, en in je (target) frame een pagina opent? (uitgaande van 2 frames)...

[ Voor 14% gewijzigd door Willem op 23-09-2003 15:36 ]

Motor (of auto) onderhoud bijhouden


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Maar als je een link maakt naar die inner pagina, en later ga je die link openen, krijg je dan dat navigatie gedeelte er weer omheen?

Daarom wil ik dus niet meer met frames werken.

[ Voor 17% gewijzigd door Alarmnummer op 23-09-2003 15:37 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

Een truuk die veel gebruikt wordt is in je pagina checken of 'ie al in frames staat of niet, zo nee --> framepagina aanroepen met de pagina als parameter, en de frameset dynamisch laten schrijven door de framepagina (serverside of clientside met bv javascript).

Intentionally left blank


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
crisp schreef op 23 September 2003 @ 15:43:
Een truuk die veel gebruikt wordt is in je pagina checken of 'ie al in frames staat of niet, zo nee --> framepagina aanroepen met de pagina als parameter, en de frameset dynamisch laten schrijven door de framepagina (serverside of clientside met bv javascript).
Het klinkt erg aannemelijk. Maar hoe krijg ik het voor elkaar dat een pagina dan niet geopend gaat worden, maar dat hij eerst de frameset gaat laden en daarna de eigelijke pagina daarin gaat openen?

Op de server heb ik weinig ter beschikking, dus het moet een clientside oplossing zijn.

[edit]
Ik heb volgens mij al iets gevonden:

code:
1
2
3
4
5
6
7
function checkFrames()
{
    my_frames_page = "frames.html";
    top_page = top.location.toString().toLowerCase();
    if (top_page.indexOf(my_frames_page)==-1) 
        top.location = my_frames_page;
}

[ Voor 18% gewijzigd door Alarmnummer op 23-09-2003 15:54 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

Alarmnummer schreef op 23 September 2003 @ 15:47:
[...]

Het klinkt erg aannemelijk. Maar hoe krijg ik het voor elkaar dat een pagina dan niet geopend gaat worden, maar dat hij eerst de frameset gaat laden en daarna de eigelijke pagina daarin gaat openen?

Op de server heb ik weinig ter beschikking, dus het moet een clientside oplossing zijn.
Simpel stukje javascript:
JavaScript:
1
2
3
4
5
6
// redirect when not in frames or in foreign frame
try {
  if (window.top == window.self || !(window.top.document.title = document.title)) top.location.replace('index.html?page='+window.location.href);
} catch(e) {
  top.location.replace('index.html?page='+window.location.href);
}


in je index.html kan je de window.location.search property uitvragen om de originele pagina te achterhalen, en vervolgens dmv documet.write de juiste frameset te schrijven.

Intentionally left blank


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik zal er vanavond meteen mee aan de slag gaan. Nu alleen nog maven aan de praat krijgen. thanx.

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Wellicht overbodig, maar op deze pagina staat het één en ander uitgelegd over hetgeen crisp heeft voorgesteld.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben gisteren een tijdje ermee bezig geweest en heb een nieuw menusysteem in elkaar gezet (dat nog niet klaar is).

http://www.alarmnummer.net

en een link naar een interne pagina:

http://www.alarmnummer.net/build.html


De site is verder ook nog lang niet klaar dus geen commentaar daarover aub :)

[ Voor 16% gewijzigd door Alarmnummer op 25-09-2003 09:44 ]

Pagina: 1