href naar andere pagina met iframe

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • martijndame5
  • Registratie: Maart 2010
  • Laatst online: 31-07-2024
Beste Tweakers.

Dit is de eerste keer dat ik een forum start dus bij voorbaat al excuses als ik iets niet goed doe.

Ik zit met een probleem.
Ik heb 3 pagina's
pagina1.html is een lege pagina met een link naar pagina2.html
pagina2.html is een pagina met een iframe erop met de naam "content".

Is het mogelijk om op pagina1.html met de link mee te geven dat pagina2.html geopend wordt met pagina3 als src van het iframe?

Alvast Bedankt

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Als je alleen de beschikking hebt over platte html, dan zul je hier javascript voor moeten gebruiken. Je kunt de url meesturen als parameter naar index2.html.

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 20:18

Compizfox

Bait for wenchmarks

Kan dat met javascript wel? Ik zat juist te denken aan PHP.

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Compizfox schreef op donderdag 22 april 2010 @ 21:35:
Kan dat met javascript wel? Ik zat juist te denken aan PHP.
pagina1.html:
code:
1
<a href="pagina2.html#waameukee">Foo</a>


pagina2.html:
code:
1
2
<script type="text/javascript">
// Zooi wat het fragment van de top URL oid uitleest en in het frame de juiste pagina pleurt


Waarom zou het niet kunnen? Javascript kan prima uitlezen wat voor toffe URL jij in je adresbalk hebt staan en kan aan de hand daarvan ook probleemloos de src van het iframe aanpassen :)

[ Voor 15% gewijzigd door Osiris op 22-04-2010 21:41 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Serverside is wel beter natuurlijk. Dit klinkt namelijk als iets dat redelijk vitaal is voor het gebruik van de site. Dan kunnen mensen zonder JS het tenminste ook gebruiken.

Maar als je daar niet de beschikking over hebt blijft er weinig anders over..

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Bosmonster schreef op donderdag 22 april 2010 @ 21:43:
Maar als je daar niet de beschikking over hebt blijft er weinig anders over..
Afgezien van de vraag of de topicstarter wellicht wel vraagt om een oplossing die hij eigenlijk niet nodig heeft ;) Maar om dat te beoordelen hebben we way te weinig info gekregen. :)

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Bosmonster schreef op donderdag 22 april 2010 @ 21:43:
Serverside is wel beter natuurlijk. Dit klinkt namelijk als iets dat redelijk vitaal is voor het gebruik van de site. Dan kunnen mensen zonder JS het tenminste ook gebruiken.
Bijna iedereen heeft JS aanstaan ;) De meeste clients, zelfs Google ondersteunen JS. Dus dat is geen argument meer. Neemt niet weg dat in principe alles zonder JS ook zou moeten werken.

[ Voor 18% gewijzigd door Sebazzz op 22-04-2010 21:52 ]

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Taartvarken
  • Registratie: Januari 2007
  • Laatst online: 17-09 14:10
Ik weet niet wat je precies wilt bereiken, maar eigenlijk zijn iFrames niet echt meer van deze tijd. Je kan beter via PHP de waarde in de adresbalk uitlezen en ipv een iFrame een divje gebruiken.

de link op pagina 1 wordt dan bijv. pagina2.php?page=pagina3

Je php code wordt dan zoiets:

PHP:
1
2
3
4
5
6
<?php
$page = $_GET['test']; // waarde ophalen uit adresbalk
echo '<div>';
include ''.$page.'.html';
echo '</div>';
?>

[ Voor 4% gewijzigd door Taartvarken op 22-04-2010 21:59 ]


Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 20:51

krvabo

MATERIALISE!

Sebazzz schreef op donderdag 22 april 2010 @ 21:51:
[...]

Bijna iedereen heeft JS aanstaan ;) De meeste clients, zelfs Google ondersteunen JS. Dus dat is geen argument meer. Neemt niet weg dat in principe alles zonder JS ook zou moeten werken.
Hmmm zover ik begrepen heb snápt google javascript, maar voert het het niet uit.

M.a.w. ze kunnen wel zien dat jij de src van iets aanpast met javascript, maar zullen zelf de src niet vervangen dan. Althans, dit is zoals ik het enige tijd (~8 maanden) geleden heb begrepen van Matt Cutts van google

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
WiertOmta schreef op donderdag 22 april 2010 @ 21:58:
Ik weet niet wat je precies wilt bereiken, maar eigenlijk zijn iFrames niet echt meer van deze tijd. Je kan beter via PHP de waarde in de adresbalk uitlezen en ipv een iFrame een divje gebruiken.

de link op pagina 1 wordt dan bijv. pagina2.php?page=pagina3

Je php code wordt dan zoiets:

PHP:
1
2
3
4
5
6
<?php
$page = $_GET['test']; // waarde ophalen uit adresbalk
echo '<div>';
include ''.$page.'.html';
echo '</div>';
?>
http://domein.invalid/pag...ite.invalid%2fkewl-script

Waarbij kewl-script een PHP-bestand is, eindigend op .html.

Lijkt me niet verstandig ;)

En waarom na de echo eerst twee enkele aanhalingstekens en dan de variabele?

[ Voor 7% gewijzigd door Osiris op 23-04-2010 02:45 ]


Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 20:18

Compizfox

Bait for wenchmarks

Osiris schreef op donderdag 22 april 2010 @ 21:40:
[...]

pagina1.html:
code:
1
<a href="pagina2.html#waameukee">Foo</a>


pagina2.html:
code:
1
2
<script type="text/javascript">
// Zooi wat het fragment van de top URL oid uitleest en in het frame de juiste pagina pleurt


Waarom zou het niet kunnen? Javascript kan prima uitlezen wat voor toffe URL jij in je adresbalk hebt staan en kan aan de hand daarvan ook probleemloos de src van het iframe aanpassen :)
O, OK. Ik weet niet echt veel van Javascript, vandaar dat ik niet wist dat dit ook mogelijk is met Javascript.

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Taartvarken
  • Registratie: Januari 2007
  • Laatst online: 17-09 14:10
Osiris schreef op vrijdag 23 april 2010 @ 02:44:
[...]

http://domein.invalid/pag...ite.invalid%2fkewl-script

Waarbij kewl-script een PHP-bestand is, eindigend op .html.

Lijkt me niet verstandig ;)

En waarom na de echo eerst twee enkele aanhalingstekens en dan de variabele?
You're right...

Beter:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$page = $_GET['page']; // waarde ophalen uit adresbalk 
echo '<div>'; 
if ($page == 'pagina2') {
include 'pagina2.php';
}
elseif ($page == 'anders') {
include 'anders.php';
}
else{
echo 'bestaat niet';
}

echo '</div>'; 
?>


Moet je alleen niet te vaak je links veranderen, dan is het een gedoe...

[ Voor 5% gewijzigd door Taartvarken op 23-04-2010 18:37 ]


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
WiertOmta schreef op vrijdag 23 april 2010 @ 18:37:
[...]


You're right...

Beter:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$page = $_GET['page']; // waarde ophalen uit adresbalk 
echo '<div>'; 
if ($page == 'pagina2') {
include 'pagina2.php';
}
elseif ($page == 'anders') {
include 'anders.php';
}
else{
echo 'bestaat niet';
}

echo '</div>'; 
?>


Moet je alleen niet te vaak je links veranderen, dan is het een gedoe...
Je kunt beter een baseurl erin zetten (http://domain.com/), met file_exists kijken of de pagina die opgeroepen wordt bestaat, en dan includen. Volgens mij is dat redelijk veilig en ook dynamisch als je meerdere pagina's wilt toevoegen.

Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Als je je $_GET al filtert op ".." dan ben je al een heel eind lijkt me =-)

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 17-09 16:01
Moet die pagina3 variabel zijn? Anders kun je toch gewoon een default te openen pagina mee geven?

Acties:
  • 0 Henk 'm!

  • JOfferijns
  • Registratie: Februari 2010
  • Laatst online: 25-05 13:08
Rvanlaak schreef op dinsdag 27 april 2010 @ 23:18:
Moet die pagina3 variabel zijn? Anders kun je toch gewoon een default te openen pagina mee geven?
Lijkt me wel, anders vraagt hij niet of het kan ;)

Acties:
  • 0 Henk 'm!

  • JOfferijns
  • Registratie: Februari 2010
  • Laatst online: 25-05 13:08
WiertOmta schreef op vrijdag 23 april 2010 @ 18:37:
[...]


You're right...

Beter:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$page = $_GET['page']; // waarde ophalen uit adresbalk 
echo '<div>'; 
if ($page == 'pagina2') {
include 'pagina2.php';
}
elseif ($page == 'anders') {
include 'anders.php';
}
else{
echo 'bestaat niet';
}

echo '</div>'; 
?>


Moet je alleen niet te vaak je links veranderen, dan is het een gedoe...
Zou ik eerder dit doen:

PHP:
1
2
3
<div>
<?php (isset $_GET['page'] && file_exists($_GET['page'] . '.html') ? include $_GET['page'] . ".html" : echo 'Bestaat niet!'; ?>
</div>

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
HyperioN schreef op vrijdag 23 april 2010 @ 18:44:
[...]

Je kunt beter een baseurl erin zetten (http://domain.com/), met file_exists kijken of de pagina die opgeroepen wordt bestaat, en dan includen. Volgens mij is dat redelijk veilig en ook dynamisch als je meerdere pagina's wilt toevoegen.
Dat lijkt me geen goede tip, in plaats van op filesystem niveau te includen ga je nu een http-request doen om een file op te halen die gewoon op je eigen filesystem staat. Zonde van je resources natuurlijk ;)

En ik kan het niet laten, sorry maar..
PHP:
1
include ''.$page.'.html';

@WiertOmta: Waarom gooi je een lege string voor de variabele? :)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Kijk idd dan of het bestand bestaat in de mogelijke te includen bestanden (bijvoorbeeld een specifieke map lokaal).

Het blijft weinig toevoegen, want dan kun je het ook gewoon omdraaien en de herhalende delen in includes stoppen en gewoon de pagina's aanroepen. Wordt Google ook een stuk vrolijker van.

Acties:
  • 0 Henk 'm!

  • Vokx
  • Registratie: April 2008
  • Laatst online: 21:37
code:
1
2
<a href="http://www.w3schools.com/"
target="_blank">Visit W3Schools!</a>

Target?

code:
1
2
3
<a href="http://www.w3schools.com/"
target="myifraam">Visit W3Schools!</a> 
<iframe name="myifraam" />

Werkte het ooit niet zo? Weet niet of het nog zo werkt :9.. Iframes zijn beetje outdated :+

Acties:
  • 0 Henk 'm!

  • JOfferijns
  • Registratie: Februari 2010
  • Laatst online: 25-05 13:08
Vokx schreef op woensdag 28 april 2010 @ 15:50:
code:
1
2
<a href="http://www.w3schools.com/"
target="_blank">Visit W3Schools!</a>

Target?

code:
1
2
3
<a href="http://www.w3schools.com/"
target="myifraam">Visit W3Schools!</a> 
<iframe name="myifraam" />

Werkte het ooit niet zo? Weet niet of het nog zo werkt :9.. Iframes zijn beetje outdated :+
Dat is niet echt wat de TS bedoelt...

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

En iframes zijn niet outdated.

Acties:
  • 0 Henk 'm!

  • JOfferijns
  • Registratie: Februari 2010
  • Laatst online: 25-05 13:08
Nee maar worden wel zeer afgeraden om te gebruiken:
http://ispirata.net/articles/your-iframes-are-bad.php

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
Ja, als subsituut voor framesets wel ja. Dat is dan ook niet de juiste usecase voor een iframe.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

JOfferijns schreef op woensdag 28 april 2010 @ 15:15:
[...]


Zou ik eerder dit doen:

PHP:
1
2
3
<div>
<?php (isset $_GET['page'] && file_exists($_GET['page'] . '.html') ? include $_GET['page'] . ".html" : echo 'Bestaat niet!'; ?>
</div>
file_exists() werkt ook over HTTP ;) Ja, mister ev0l moet dan ook een bestand met de naam van $_GET['page'] . ".html" op z'n server zetten, maar dat lijkt me voor hem een kleine moeite om de controle die jij voorstelt te omzeilen. Geef dan een bruikbare hint, bijvoorbeeld iets met een absoluut pad :)

[ Voor 31% gewijzigd door CodeCaster op 29-04-2010 00:09 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
CodeCaster schreef op woensdag 28 april 2010 @ 22:48:
[...]

file_exists() werkt ook over HTTP ;) Ja, mister ev0l moet dan ook een bestand met de naam van $_GET['page'] . ".html" op z'n server zetten, maar dat lijkt me voor hem een kleine moeite om de controle die jij voorstelt te omzeilen. Geef dan een bruikbare hint, bijvoorbeeld iets met een absoluut pad :)
Gewoon een fatsoenlijke regex eroverheen halen die alleen maar a-zA-Z0-9 toestaat als tekens. Klaar lijkt me? :? Geen slashes, geen dubbelepunten, geen punten, geen komma's, geen gezeik, gewoon 1 woord met alleen alfanumerieke chars. En als je echt een ander teken nodig hebt, dan zet je die er ook zo tussen. :) En verder kun je dan natuurlijk *ook* nog een absoluut pad gebruiken, maar als je dan ".." gebruikt om een niveau lager te komen heeft dat deels ook weer geen nut.
Pagina: 1