Toon posts:

[Javascript] Pagina forceren om in een frame te laden *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik geef toe, ik weet niet of ik de titel goed heb maar goed.


via google komt een gast rechtstreeks op links.php.
Nu wil ik dat hij op mijn pagina komt waar ik frames in heb gezet (de index.php)
Dat lukt door de volgende code:

<SCRIPT language=javascript type=text/javascript>
if (top.location == self.location) { //Als de pagina niet binnen het frame valt
top.location.href = "http://www.websitenaam.net" }
</SCRIPT>

Het probleem is dat hij dan mijn hoofd pagina laadt. Hij moet dan in mijn home frame de pagina laden (in dit geval links.php)

Hoe kan ik dit realiseren??

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:52

gorgi_19

Kruimeltjes zijn weer op :9

Je moet niet in de hoek kijken naar een serverside oplossing met PHP, maar eerder zoeken op Javascript en het gehele PHP voor dit probleem vergeten :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
javascript is ook geen probleem, vindt ik ook prima ;)

Verwijderd

Verwijderd schreef op 19 februari 2004 @ 10:18:

<SCRIPT language=javascript type=text/javascript>
if (top.location == self.location) { //Als de pagina niet binnen het frame valt
top.location.href = "http://www.websitenaam.net" }
</SCRIPT>
Als pagina NIET binnen het frame valt, moet hij dat toch doen?

Dus zoiets als if (!top.location == self.location) { bla }
(ik weet niet of dit de correcte notatie is, omdat ik niet thuis ben in JS, maar het idee zal duidelijk zijn)

Verwijderd

Gebruik je Dreamweaver? Ga dan eens op de exchange kijken naar "FrameBuster" of "FrameJammer", weet niet meer precies welke van de twee het is O-)

Gratis te downloaden en gebruiken en werkt perfect!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 07-05 22:49

curry684

left part of the evil twins

Javascript is van de buren, renamed en moved :)

Professionele website nodig?


  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 06-05 18:56
Dit is de code waaraan hij herkent of hij wel of niet in een frame geopend is.
code:
1
2
3
4
5
if (parent.frames.length == 0)
document.write(metFrames);
else
document.write(zonderFrames);
}

[ Voor 7% gewijzigd door HawVer op 19-02-2004 10:51 ]

http://hawvie.deviantart.com/


Verwijderd

Topicstarter
Ik zat te denken aan het volgende:

<SCRIPT>
Als ik geen frames heb maak dan frames en laad het volgende zien in de frames
</SCRIPT>

  • kleautviool
  • Registratie: Mei 2003
  • Laatst online: 09-05 14:08
Maar dan werkt jouw code toch gewoon?
Probeer anders dit eens:

JavaScript:
1
2
3
if(top.location == self.location)  {
  self.location.replace("jeframeset.html");
}


Of begrijp ik je verkeerd?

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 06-05 18:56
Jullie zitten op één lijn. Ik denk alleen dat Dikke_Clown de code niet helemaal begrijpt.
code:
1
2
3
4
5
//dit is een check of hij wel in een frame staat
if(top.location == self.location)  {
//Zoja link dan door naar je frameset pagina. 
self.location.replace("jeframeset.html");
}

Je kan wel het hele frameset document kopieren en door je javascript in laten voegen maar dat is niet logisch en alleen maar overhead.

http://hawvie.deviantart.com/


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

HawVer schreef op 19 februari 2004 @ 11:40:
Jullie zitten op één lijn. Ik denk alleen dat Dikke_Clown de code niet helemaal begrijpt.
...
Je kan wel het hele frameset document kopieren en door je javascript in laten voegen maar dat is niet logisch en alleen maar overhead.
En ook jij hebt niet helemaal door wat TS wil ;)

Hier staat het nl.:
Het probleem is dat hij dan mijn hoofd pagina laadt. Hij moet dan in mijn home frame de pagina laden (in dit geval links.php)
Wat Dikke_Clown eigenlijk moet doen is redirecten naar z'n 'hoofd' pagina met een extra parameter. Vervolgens kan z'n hoofdpagina (ook met JavaScript), die extra parameter uitlezen en naar de juiste sub-page gaan.

Bijv.:
JavaScript:
1
2
3
4
5
//dit is een check of hij wel in een frame staat
if(top.location == self.location)  {
//Zoja link dan door naar je frameset pagina. 
self.location.replace("jeframeset.html?" + self.location);
}


In de hoofdpage kan dan die searchstring (;)) worden opgevraagd en geladen in het juiste frame

[ Voor 11% gewijzigd door BtM909 op 19-02-2004 11:47 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 06-05 18:56
Ah doh. :z Ik lees het inderdaad niet goed. Nu snap ik het! Ja dan zou jou idee met die code inderdaad een goede oplossing zijn.

http://hawvie.deviantart.com/


Verwijderd

Topicstarter
BtM909 schreef op 19 februari 2004 @ 11:47:
[...]

Bijv.:
JavaScript:
1
2
3
4
5
//dit is een check of hij wel in een frame staat
if(top.location == self.location)  {
//Zoja link dan door naar je frameset pagina. 
self.location.replace("jeframeset.html?" + self.location);
}
Dan moet ik alleen mijn index.php aanpassen. Dan moet ik de frames opbouwen dmv javascript. Wat nu (nog) niet het geval is. Ik ga het even proberen.

Verwijderd

Topicstarter
Het is gelukt!

Mijn index.php

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<HTML>
  <HEAD>
      <script language="JavaScript">
      var query = (location.href.indexOf("?")+1);
      var page = 'home.php'
      if (query)
      {
        page = location.href.substring(query);
      }
    </SCRIPT>
  </HEAD>


<script language="JavaScript">
   document.write('<frameset COLS="220,*">');
   document.write('<frame src="menu.php" name=menu>');
   document.write('<frameset ROWS="130,*">'); 
   document.write('<frame SRC="up.php" NAME=up>');
   document.write('<frame SRC=' + page + ' NAME=home');
   document.write('<\/frameset>');
</script>
</HTML>


Mijn links.php:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
<HTML>
<HEAD>
<script language="JavaScript">
//dit is een check of hij wel in een frame staat
if(top.location == self.location)  {
//Zoja link dan door naar je frameset pagina.
self.location.replace("index.php?" + self.location);
}

</SCRIPT>
</HEAD>
De inhoud van je pagina
</HTML>

Verwijderd

Topicstarter
bovenstaande werkt, het probleem is alleen dat ik een onwijs lange url te zien krijg in de adresbalk.

namelijk:
http://www.websitenaam.nl....websitenaam.nl/links.php


weet iemand hoe dit is aan te passen zodat er alleen http://www.websitenaam.nl kom te staan?

:+

[ Voor 22% gewijzigd door Verwijderd op 21-02-2004 18:42 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 21 februari 2004 @ 18:41:
bovenstaande werkt, het probleem is alleen dat ik een onwijs lange url te zien krijg in de adresbalk.

namelijk:
http://www.websitenaam.nl....websitenaam.nl/links.php


weet iemand hoe dit is aan te passen zodat er alleen http://www.websitenaam.nl kom te staan?

:+
Je kunt een driedubbel frame gebruiken :?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

hehe, dan zit je weer op hetzelfde probleem :P
je kan er natuurlijk wel index.php?1 van maken ofzo

of index.php/1 (zoals hier op GoT), dat ziet er ook nog wel aardig uit, alleen dan moet je weer op de server juiste dingen instellen, maar dat lijkt me wel te kunnen omdat je toch al php gebruikt

eigenlijk kan die hele javascript uit je index weg en is dit op te lossen met php, veel netter imho

[ Voor 91% gewijzigd door Verwijderd op 21-02-2004 19:18 ]

Pagina: 1