Toon posts:

[Javascript] Frames

Pagina: 1
Acties:

Verwijderd

Topicstarter
Op mijn website (www.bedrijfhandel.nl) maak ik gebruik van frames. Ik heb de hoofdlayout hieruit opgebouwd. Links een menu en een header als frames. En natuurlijk een content layer waarin de paginas worden geopend.

Nu zijn er natuurlijk altijd slimme mensjes die de paginas buiten de frames openen. Dit is natuurlijk niet de bedoeling en nu wil ik daarom verplichten dat de content-paginas (zoals ads.php en rubrieken.php) in de frameset worden geopend. Als men dus http://www.bedrijfhandel.nl/ads.php?id=15 indrukt dat men dan automatisch naar de frameset wordt gezonden waarin ads.php?id=15 wordt geopend.

Nu heb ik al op google gezocht op: "enforce frames" maar ik krijg geen/weinig nuttige resultaten, dit heb ik tevens bij de forumsearch hier. Onderstaande code is het beste wat ik tot nu toe heb, maar dan stuurt hij gewoon iedereen naar de www.bedrijfhandel.nl pagina zonder de content-frame naar de juiste pagina te sturen.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
<script language="Javascript">

if (top.location != self.location) {

}
else
{
top.location = "http://www.bedrijfhandel.nl/";
}

//--> 
</script>


Kan iemand mij helpen bij dit probleem?

Verwijderd

Welke link zou hij dan moeten openen? Ik weet niet precies wat je wilt... Het frame staat dus in http://www.bedrijfhandel.nl/ads.php?id=15 ? Welke url moet hij oproepen in de then-tak?

Trouwens, dit had je beter onder WG kunnen vragen...
Als men dus http://www.bedrijfhandel.nl/ads.php?id=15 indrukt dat men dan automatisch naar de frameset wordt gezonden waarin ads.php?id=15 wordt geopend.
Hoe moet ik dat voor me zien?? Is er ergens een index.php oid??

En idd, frames :X

[ Voor 37% gewijzigd door Verwijderd op 29-12-2005 15:11 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:02

crisp

Devver

Pixelated

--> Webdesign & Graphics

Het beste is frames gewoon te vermijden ;)

Intentionally left blank


Verwijderd

Topicstarter
Zoals je ziet opent hij de pagina nu gewoon in IE. Maar ik wil dat hij in de frames blijft als men ads.php opvraagt. Normaal is dit ook het geval als je gewoon navigeert op www.bedrijfhandel.nl. Maar als iemand ads.php gewoon achter www.bedrijfhandel.nl zet en naar deze locatie gaat opent hij de pagina zonder de frames van www.bedrijfhandel.nl. Dit wil ik voorkomen zoals dat al op www.bedrijfhandel.nl/home.php werkt. Maar daar werkt het toevallig omdat de framespagina (index.php) al standaard naar home.php verwijst.

Verwijderd

Topicstarter
Wat is er mis met frames? Zoveel grote sites gebruiken frames...
Heb geen verstand van css en div-tags dus met layers kan ik het niet opbouwen..

Verwijderd

code:
1
2
3
if (top.location != self.location) {
   top.location = self.location
}

??
Verwijderd schreef op donderdag 29 december 2005 @ 15:14:
Wat is er mis met frames? Zoveel grote sites gebruiken frames...
Heb geen verstand van css en div-tags dus met layers kan ik het niet opbouwen..
Het kan ook nog met tables :)

[ Voor 61% gewijzigd door Verwijderd op 29-12-2005 15:16 ]


Verwijderd

Topicstarter
Mmm, daar heb je wel een punt misschien is tables wel makkelijker...

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:02

crisp

Devver

Pixelated

Verwijderd schreef op donderdag 29 december 2005 @ 15:14:
Wat is er mis met frames? Zoveel grote sites gebruiken frames...
Heb geen verstand van css en div-tags dus met layers kan ik het niet opbouwen..
1 woord: usability

Wat je overigens zou kunnen doen om je probleem op te lossen is door ervoor te zorgen dat je de opgevraagde pagina weer meegeeft naar je frame-index en daar je frameset dynamisch uitschrijft.
Als je echt serieus met webdesign bezig wil gaan zou ik je echter aanraden om gewoon CSS te gaan leren en zo snel mogelijk de frames te ditchen - dat is echt iets van de vorige eeuw...

Intentionally left blank


Verwijderd

Topicstarter
code:
1
2
3
if (top.location != self.location) {
   top.location = self.location
}

Dit lost het probleem niet op want dan mogen ze juist niet in frames worden geopend :p

Verwijderd

Verwijderd schreef op donderdag 29 december 2005 @ 15:18:
code:
1
2
3
if (top.location != self.location) {
   top.location = self.location
}

Dit lost het probleem niet op want dan mogen ze juist niet in frames worden geopend :p
Je moet het wel zo ongeveer doen. Wie zijn ze :?

Misschien moet je wat meer info geven. Je kunt nog altijd doen: top.location = 'www.....'

Verwijderd

Topicstarter
Al mijn subpaginas dus ads.php rubrieken.php home.php contactus.php kunnen nu buiten de frames worden geopend. Dit wil ik verbieden en zorgen dat ze automatisch binnen frames worden geopend...

Verwijderd

Je wilt dus redirecten naar de hoofdpagina en dat de opgevraagde pagina in een frame wordt geladen?? Je kunt volgens mij dit zonder serverside scripten niet oplossen... Maar je gebruikt al php, dus dat is volgens mij niet lastig :).

Volgens mij moet de if wel zijn top.location == self.location, maar hierop zul je even moeten googlen.

Verwijderd

Topicstarter
Je snapt precies wat ik bedoel nu ja. Ik zal even zoeken, maar zit nu sterk te twijfelen om op tables over te stappen...

Zitten er nog grote nadelen aan het gebruiken van tables ipv CSS?

[ Voor 23% gewijzigd door Verwijderd op 29-12-2005 15:33 ]


Verwijderd

Enige nadeel dat ik weet is dat tables meer bandbreedte kosten... Site waar ik voor werk is ook gebasseerd op tables en dat prima (Y)

Verwijderd

Topicstarter
Dan wordt het tables..., topic kan van mij gesloten worden!
Crisp en Boland, bedankt voor de hulp!

Verwijderd

Graag gedaan :) Maar volgens mij worden topics niet gesloten als de vraag beantwoord is :).

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 12-04 23:19
Gebruik dan geen tables maar div's (layers) icm css, als je dat goed aanpakt dan scheelt het je zelfs bandbreedte.

Verwijderd

Topicstarter
Zal het eerst eens met tables proberen, en eventueel later overstappen op layers. Met tables werkt het iig al, heb al een deel vervangen...
Vraag me alleen af waarom mn stylesheet niet in Firefox werkt en wel in IE :s

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 12-04 23:19
dat heb je met stylesheets. Als ik jou was zou ik nu stoppen met table's en direct overaan op layers, dat scheelt je later weer tijd.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:02

crisp

Devver

Pixelated

.Peter schreef op donderdag 29 december 2005 @ 15:43:
Gebruik dan geen tables maar div's (layers) icm css, als je dat goed aanpakt dan scheelt het je zelfs bandbreedte.
Waarom persé div's?
Gebruik gewoon de juiste HTML elementen bij je content en style die met CSS. div's zijn handig om bepaalde elementen te groeperen en/of meer hooks te creeeren voor je CSS maar enkel div's gebruiken is imho net zo erg als een table-based layout.

Het grootste nadeel van tables tov CSS-based layout is dat een table 'star' is en semantisch gezien niets toevoegd (en zelfs als layout-model incorrect is). Met CSS ben je veel vrijer mbt positionering. Het grootste nadeel van CSS is de belabberde en buggy ondersteuning van een zekere (te)veel gebruikte browser...

Intentionally left blank

Pagina: 1