TARGET= -- DIV als vervanging voor FRAME

Pagina: 1
Acties:
  • 3.058 views sinds 30-01-2008
  • Reageer

  • lordsnow
  • Registratie: Maart 2000
  • Laatst online: 08:05

lordsnow

I know nothing

Topicstarter
Ik ben op het moment bezig de layout van een website om te zetten van FRAMES naar DIV's. Alle frames zijn nu weg, behalve 1.

In de frames versie wordt in enkele <A HREF=...> verwezen naar dit frame op de pagina, en dan wordt aan de han van de keuze een bepaalde tekst geladen.

Nu is de vraag hoe kan je hetzelfde effect bereiken waneer je geen frames gebruikt?

1. Toch stiekem een (I)frame gebruiken?
2. AJAX (XMLHttpRequest)
3. op een of andere manier een DIV kunnen aanwijzen met een TARGET=
4. iets anders?

//edit:
DIVjes hiden/showen was ik ook al tegen gekomen (vergeten te melden hier).
Het zijn idd maar een klein aantal (5 of 6) stukjes tekst.

(Wel vreemd eigenlijk dat je met <A HREF= TARHET=> geen DIV kan aanwijzen. Is toch erg voordehand liggend, zou je denken.)

[ Voor 22% gewijzigd door lordsnow op 25-11-2005 15:28 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:26
Als het er maar een paar zijn kun je ook divjes gaan hiden en op visable zetten waneer er op geklikt worden dmv van javascript. Er zijn voorbeelden te vinden die frame's nabootsen dmv divjes.

Verwijderd

Je zult daarvoor volgens mij gewoon het beste een nieuwe pagina voor kunnen maken en dan linken naar de pagina met die div.

Hoort volgens mij in WG thuis...

Idd met hiden / showen van div's kan ook als het niet teveel zijn.

[ Voor 19% gewijzigd door Verwijderd op 25-11-2005 15:18 ]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:51

RM-rf

1 2 3 4 5 7 6 8 9

lordsnow schreef op vrijdag 25 november 2005 @ 15:13:

1. Toch stiekem een (I)frame gebruiken?
ja, waarom niet, als de reden waarom je de frames wilde verwijderen, verder niet in conflict is met het gebruik van een IFRAME ind e pagina, is er geen enkele reden om als een soort van jehova dingen te doen enkel omdat 'het Boek' dat zou beweren ...
2. AJAX (XMLHttpRequest)
Ja dat is mogelijk, maar het betektn ook dat die functionaliteit puur afhankelijk is van javascript en een XML-capabele browser...
bovendien kan het opzetten van zoiets wel een beetje meerwerk en ombouwen vergen (ik neem aan dat je het een beetje generiek wilt opzetten, zodat je het meermaals kan gebruiken) ..
Ook al s een erg eenvoudige versie erg snel te doen en zijn er veel voorbeelden van te vinden.
3. op een of andere manier een DIV kunnen aanwijzen met een TARGET=
kan niet, een DIV heeft geen SRC, dan zou je het namelijk een IFRAME noemen 8)7
4. iets anders?
zoals gezegd, het is ook mogelijk dingen gewoon via _top te laden, dus een nieuwe pagina in te laden ... wat zijn de reden dat je dat niet wil doen?

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:03

Creepy

Tactical Espionage Splatterer

Frames, DIV's, layout, website.. Allemaal termen die in Webdesign & Graphics iets beter tot hun recht komen zoals je ook in Over HTML, CSS, JavaScript, Flash en Director topics *12-05* had kunnen lezen ;)

Move -> W&G

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • -Lars-
  • Registratie: Mei 2004
  • Niet online
Waarom stap je af van frames? Dit is het doel van (i)frames.

Als de divs ook op zich zelf staande pagina's zijn, zou ik het houden bij (i)frames, of er daadwerkelijk aparte pagina's van maken.

Als de divs een geheel vormen, zou ik aan de gang gaan met verbergen en tonen via javascript. Het maakt dan immers niet uit als non-javascript-browsers alle divs zien (voor deze bezoekers kun je nog denken aan anchors binnen de pagina).
lordsnow schreef op vrijdag 25 november 2005 @ 15:13:
(Wel vreemd eigenlijk dat je met <A HREF= TARHET=> geen DIV kan aanwijzen. Is toch erg voordehand liggend, zou je denken.)
Niet vreemd. Divs zijn bedoeld als containers, om informatie logisch te ordenen. Divs zijn niet de vervanger van frames en het is dan ook niet de bedoeling dat met een druk op een link de inhoud van een div zou kunnen worden veranderd.

  • lordsnow
  • Registratie: Maart 2000
  • Laatst online: 08:05

lordsnow

I know nothing

Topicstarter
-Larz- schreef op vrijdag 25 november 2005 @ 16:19:
Waarom stap je af van frames? Dit is het doel van (i)frames.
De originele site zit erg rommelig in elkaar (denk aan een begin jaren ' 90 amateuristische frames site). Ik wou DIVs (en CSS) gebruiken voornamelijk om het uiterlijk en de code wat netter te maken, en ten tweede gewoom om het doen.
Als de divs ook op zich zelf staande pagina's zijn, zou ik het houden bij (i)frames, of er daadwerkelijk aparte pagina's van maken.

Als de divs een geheel vormen, zou ik aan de gang gaan met verbergen en tonen via javascript. Het maakt dan immers niet uit als non-javascript-browsers alle divs zien (voor deze bezoekers kun je nog denken aan anchors binnen de pagina).
Er zit verder weinig opmaak in de dingen die getoond moeten worden - gewoon tekst (Wie zijn wij, Hoe werkt het?, etc etc).
Niet vreemd. Divs zijn bedoeld als containers, om informatie logisch te ordenen.
Dat dacht ik dus eerst ook, voordat ik dat schreef. Totdat ik bedacht dat frames toch ook een manier is om informatie logisch te ordenen. (Niet helemaal hetzelfde, maar toch).
het is dan ook niet de bedoeling dat met een druk op een link de inhoud van een div zou kunnen worden veranderd.
Maar zou toch wel heel erg cool zijn ;)

Verwijderd

Dan heb je twee opties:

1. XMLHTTPRequest
2. Verschillende elementen die via javascript op zichtbaar/onzichtbaar worden gezet.

Als je iframes echt wilt emuleren gebruik je XMLHTTPRequest. Nadeel hiervan is dat dit niet door alle browsers even goed ondersteund wordt (vooral oudere versies zijn problematisch), maar dit is af te vangen door je code een beetje doordacht op te zetten. Je zou bijvoorbeeld een link naar een bepaalde pagina kunnen laten verwijzen. Javascript kijkt of de browser XMLHTTPRequest goed ondersteunt: zo ja, dan wordt de klik op de link "afgevangen" en de pagina via XMLHTTPRequest ingeladen: zo nee, dan is er niets aan de hand omdat de pagina op de "normale" manier wordt geladen.

  • robbert
  • Registratie: April 2002
  • Laatst online: 19:56
[lichtelijk offtopic]
Alsjeblieft, ga nu niet voor alles div'jes gebruiken maar zoek eens naar semantisch correcte html....
[/lichtelijk offtopic]

[ Voor 4% gewijzigd door robbert op 25-11-2005 18:36 ]


Verwijderd

[nog meer offtopic]
Je bedoelt gestructureerde HTML.
[/nog meer offtopic]

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:51

RM-rf

1 2 3 4 5 7 6 8 9

lordsnow schreef op vrijdag 25 november 2005 @ 17:59:


Dat dacht ik dus eerst ook, voordat ik dat schreef. Totdat ik bedacht dat frames toch ook een manier is om informatie logisch te ordenen. (Niet helemaal hetzelfde, maar toch).
Bij HTML is het belangrijk dat je 'structuur' abstract ziet, het is de relatie tot data ...: niét de manier waarop deze data gepresenteerd wordt, maar enkel de abstracte opslag, indeling van de werkelijke data ...

het grote verschil is dat een DIV werkelijk inhoud bevat:
HTML:
1
<DIV>inhoud</DIV>


Een Iframe bevat niet zozeer inhoud, maar enkel een 'link' naar de inhoud die in een ander bestand staat en op een andere plek is opgeslgen:
HTML:
1
<IFRAME SRC="http://andereplek.nl/inhoud.html" />

(om het wat duidelijker te maken, de xhtml notitie wijze aangenomen), qua content is de IFRAME verder leeg, maar hij bevat enkel een attribuut waarde die verwijst naar een andere plek ....

het is zinnig om voor een 'frame-oplossing te kiezen als het een voordeel heeft om de data gescheiden in te laden ... als bv de inhoud in het IFRAME regelmatig ververst dient te worden, terwijl de pagina blijft staan (Frames zijn eigenlijk AAX: AJAX zonder J; enkel is het minder een 'hype modetoepassing die op het moment erg populair is) ...

als het geen probleem is dat de inhoud eenmaal ingeladen wordt en pas op het moment dat de gebruiker hem wil zien ingeladen wordt, maar best wel bij het eerste request kan zijn ingeladen en 'verstopt ' blijven ...
In dat geval is het waarschijnlijk beter om de verschillende data in een <DIV STYLE="display:none"> en deze bij een reguest op display:block te zetten.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Om nog even een tip te geven: plaats alle teksten in een div die je met behulp van knoppen zichtbaar en onzichtbaar maakt. Op die manier staat de complete tekst gewoon in je pagina en kunnen zoekmachines dus ook nog alles indexeren. AJAX technieken zijn veels te overdreven voor dit soort kleine issues.

Dit geldt ook voor iframes, zoekmachines kunnen hier slecht mee omgaan omdat die dan alleen kale pagina's met alleen een menu of alleen met een tekst zien. Hierdoor is de hele interne linkstructuur niet vast te leggen.
Pagina: 1