Toon posts:

[HTML] Linken naar externe framespagina's

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste

Ik dien een nieuwsbrief op te stellen in HTML waarin ik enkele links opneem naar mijn site. Doch werkt mijn site met frames.

Kan ik met 1 link mijn site openen en in de juiste targets de pagina's openen die ik wil?

Ik zocht al op javascript enzo maar kon nog niets vinden.

mvg Baj

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Je kunt de pagina's doorgeven in de URL en dan met JS een frameset schrijven. Bijvoorbeeld: <a href="bla.html?p=a.html&q=b.html">Bla</a>, en dan in JS met location.search die gegevens opvragen.

* André is in goed bui:


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
p1 = document.location + "";
p2 = p1.indexOf("?");
p3 = p1.indexOf("&");
  
// standaard pagina's:
navigatie = "nav.html";
content = "content.html";
  
if ((p2 != -1) && (p3 != -1))
{
  navigatie = p1.substr(p2 + 1, p3 - p2 - 1);
  content = p1.substr(p3 + 1, p1.length - p3 - 1);
}

pagina = "";

pagina += "<frameset cols='25%,*'>";
pagina +=   "<frame src='" + navigatie + "' name='nav'>";
pagina +=   "<frame src='" + content + "' name='content'>";
pagina += "</frameset>";

document.write (pagina);

:)

[ Voor 85% gewijzigd door André op 30-07-2004 09:12 ]


Verwijderd

Topicstarter
Prachtig, ik check het direct uit

greetz

  • macnerd
  • Registratie: Oktober 2002
  • Laatst online: 02:26

macnerd

No Apples please :-)

In JavaScript kan dit natuurlijk prima, maar wat als je toevallig een bezoeker hebt die JavaScript uit heeft staan? Mijn voorkeur gaat uit naar een soortgelijke oplossing maar dan in een serverside taal als bijvoorbeeld PHP.

Simpel gezegd bestaat zo'n pagina uit een kopie van je frameset pagina ( index.html? ) waarbij je een aan de pagina doorgegeven variabele laat invullen bij de betreffende frame-tag.

Je moet overigens nog wel even iets inbouwen om te voorkomen dat in de variabele doorgegeven code nooit uitgevoerd kan worden. Ik weet het niet helemaal zeker, maar ik dacht dat je addslashes() hiervoor kon gebruiken (in PHP dus).

MacNerd