Avatar billede blueeye97 Nybegynder
24. januar 2006 - 14:59 Der er 31 kommentarer og
2 løsninger

div i stedet for frames

Jeg prøver at forstå brugen af include i stedet for at lave frames. Når jeg - som jeg gør det nu - laver et link kan jeg bestemme hvilken frame linket skal åbnes i.

Hvordan styrer jeg det hvis jeg ikke bruger frames ?

Altså lidt a´la nedenstående:

<table border="0" width="597" cellspacing="1" height="500" id="table1">
<tr>
<td width="137" height="150" align="left" valign="top">
<div style=" width: 146px; height: 85px; overflow: auto">
<?include('menu.php');?>
</div>
&nbsp;</td>
<td width="400" rowspan="2">
<div style=" width: 348px; height: 500px; overflow: auto">
<?include('hoved.php');?>
</td>
</tr>
<tr>
<td width="137" height="150" align="left" valign="top">
<a target="_blank" href="http://www.exp.dk">link</a></td>
</tr>
</table>
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 15:00 #1
Experten skal åbnes i den celle (eller div) hvor hoved.php er inkluderet...
Avatar billede roenving Novice
24. januar 2006 - 15:04 #2
Du kan kun åbne en side i et window-object, altså en popup eller en (i)frame ...
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 15:08 #3
Øhh... Så fatter jeg da slet ikke noget...

Hvis jeg har en simpel side som ovenstående og jeg vil have en menu i venstre side og så få vist indholdet i den højre celle. Kan det ikke lade sig gøre uden frames ?
Avatar billede olebole Juniormester
24. januar 2006 - 15:12 #4
<ole>

Nej  :)

/mvh
</bole>
Avatar billede olebole Juniormester
24. januar 2006 - 15:13 #5
... ikke uden at reloade hele dokumentet, that is  :)
Avatar billede roenving Novice
24. januar 2006 - 15:13 #6
Jo, men så skal du præcis inkludere en php- (eller html- !-) side på din egen server, du kan ikke hente et eksternt link !o]

-- i øvrigt må det, du henter ind med include kun indeholde/udskrive den slags html, der er lovligt på det pågældende sted !-)
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 15:14 #7
he he...

klar besked...

Men så begriber jeg ikke at man håner frames så meget. Her er jo en klar fordel eller ?
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 15:16 #8
Det eksterne link til exp var nu kun et fiktivt eksempel. Det er naturligvis htm/php sider fra min egen server der skal vises der.
Avatar billede olebole Juniormester
24. januar 2006 - 15:22 #9
Frames har ret mange (og væsentlige) bagdele - men ikke så mange fordele ... specielt ikke med de forbindelser, folk har nu om stunder  ;o)
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 15:34 #10
Jeg syns ikke jeg er stødt på problemer i.fb.m. sider bygget op i frames.

Men for at vende tilbage til spørgsmålet.

Kan jeg ved at klikke på et link i en celle få åbnet destinationssiden i en anden celle (en div er det vel egentlig)

Jeg er vandt til at "menu" delen er i en celle og de forskellige undersider så vises i en anden celle hvor jeg har en iframe som pudsigt nok  viser de sider jeg nu ønsker. Det smarte - syns jeg - er jo at min menu så går igen hele tiden uanset hvilken af mine undersider brugeren er inde på.

Ja, bær over med at jeg måske spørger underligt ;o))
Avatar billede dragonbook Nybegynder
24. januar 2006 - 15:49 #11
Det man kan gøre i php er at benytte include funktionen til at inkluderer din menu, top, bund osv. på alle dine sider, og derved kun havde disse et sted...

Dvs. på alle dine undersider inkluderer du din menu, top, bund osv. via include funktionen.

Så behøver du ikke at benytte (i)frames og forhindre derved at folk, der kommer ind på din side via. f.eks. google i at blive fanget i en underside uden menu, top, bund osv. Dette er det helt store problem ved frames.
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 16:10 #12
Ahhhh.. Så er jeg ved at se lyset... tror jeg.... :o))
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 16:48 #13
Men hvad nu hvis jeg har en form der sender brugeren videre til en htm eller php side, hvordan får jeg denne side vist i "hoved rammen" ?
Avatar billede dragonbook Nybegynder
24. januar 2006 - 16:53 #14
Når du benytter include funktionen i dine dokumenter skal du bare linke til siden som du vil havde vist i "hoved rammen" (selv om der ikker nogle rammer mere ;-)

Så "henter" funktionen selv resten. dvs ikke noget med taget="hovede_ramme" bare et ganske almindeligt link.
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 17:01 #15
OK.. Jeg kalder den lige "hovedramme" lidt endnu :o))

Lad os antage at formen sender min bruger videre til en side der er højere end der er plads til i cellen. Vil jeg så få vertikal scrollbar på hvis jeg gør noget i stil med det her:

<table border="0" width="597" cellspacing="1" height="500" id="table1">
<tr>
<td width="137" height="150" align="left" valign="top">
<div style=" width: 146px; height: 85px; overflow: auto">
<?include('menu.php');?>
</div>
&nbsp;</td>
<td width="400" rowspan="2">
<div style=" width: 408px; height: 500px; overflow: auto">

:hente fra db
:liste diverse recordfelter

</td>
</tr>
<tr>
<td width="137" height="150" align="left" valign="top">
&nbsp;</td>
</tr>
</table>
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 17:03 #16
omformulerer lige...

Det der vises ud fra hvad der er udfyldt i formen fylder f.eks. 100 linier. Vil der så i ovenstående eksempel blive vist scrollbar så ikke selve siden bliver høj ?
Avatar billede dragonbook Nybegynder
24. januar 2006 - 17:08 #17
Ja hvis det du henter fra databasen er højere end de 500px så vil der fremkomme en scrollbar, hvis det er det du mener. Det bliver jo styret af din DIV tag, som ikke har noget med frames at gøre og derfor også fungerer perfekt i php.
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 17:14 #18
Det lyder sq godt. Så tror jeg at jeg har forstået det...

Smid nogle svar, så fordeler jeg nogle points :o)
Avatar billede dragonbook Nybegynder
24. januar 2006 - 17:15 #19
det var godt ;)
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 20:09 #20
argh....

Det virker ... næsten...



Jeg har en menu som jeg ikke kan få til at blive i cellen. Den vises konsekvent i øverste venstre hjørne.

menu.php ser sådan her ud:



<script type='text/javascript'>


function Go(){return}

</script>
<script type='text/javascript' src='exmplmenu_var.js'></script>
<script type='text/javascript' src='menu_com.js'></script>
<noscript>Your browser does not support script</noscript>
</body>
</html>

index.php ser sådan her ud:

<div align="center">
    <table border="0" width="597" cellspacing="1" height="500" id="table1">
<tr>

<td width="137" height="150" align="left" valign="top">
<div style=" width: 138px; height: 245px; overflow: auto">
<?include('menu.php');?>
</div>
</td>

<td width="400" rowspan="2">
<div style=" width: 348px; height: 500px; overflow: auto">
<?include('hoved.php');?>
</td>
</tr>
<tr>
<td width="137" height="150" align="left" valign="top">
&nbsp;</td>
</tr>
</table>
</div>

Som sagt så kan jeg ikke få menu.php til at blive inde i cellen...
Avatar billede blueeye97 Nybegynder
24. januar 2006 - 20:10 #21
Jeg smider gerne flere points ind da det jo "næsten" er et tillægsspørgsmål :o))
Avatar billede roenving Novice
25. januar 2006 - 07:12 #22
-- så skal du sandsynligvis ind i de .js-filer menuen er opbygget af, for at finde ud af, hvordan den placeres og så ændre det !o]

-- men kig f.eks. på Thomas Brattlis eksempler på at placere coolmenus (som også bruges her på sitet !-)

http://www.dhtmlcentral.com/projects/coolmenus/?m=31
Avatar billede dragonbook Nybegynder
25. januar 2006 - 08:14 #23
Prøv at gå ind i 'exmplmenu_var.js' filen her vil du finde nogle linier hvor der står dette:

var StartTop=240;                // Menu offset x coordinate
var StartLeft=1;                // Menu offset y coordinate

Og det forklare jo sig selv :-)
Avatar billede blueeye97 Nybegynder
25. januar 2006 - 09:55 #24
Nårh ja for dælen....

Jeg plejer at have den i en frame og har selvfølgelig bare haft den til 1 & 1......

Tak for hjælpen... også til Roenving som endnu ikke har smidt et svar :o)
Avatar billede roenving Novice
25. januar 2006 - 09:59 #25
Velbekomme '-)
Avatar billede blueeye97 Nybegynder
25. januar 2006 - 10:01 #26
Men hov....

Det giver jo et problem...

Den tabel menuen skalvises i er jo centreret på siden. Det betyder at menuen står forskellige steder afhængig af skærmopløsning ??
Avatar billede blueeye97 Nybegynder
25. januar 2006 - 10:02 #27
På maskinen her kører jeg 1400x1050

Jeg tændte lige for en af de andre maskiner som kører 1024x768  og der hoppede menuen længere ind mod midten....
Avatar billede roenving Novice
25. januar 2006 - 10:05 #28
Jepz, det var derfor jeg lagde et linki til Thomas Brattlis placeringsscripts !-)
Avatar billede blueeye97 Nybegynder
25. januar 2006 - 10:07 #29
Ok... Det er simpelthen min menu der er for dårligt kodet ?
Avatar billede roenving Novice
25. januar 2006 - 10:11 #30
Njah, det er et kendt problem, som det kræver ekstraordinært meget at løse, netop derfor er de fleste menu-scripts lavet til at overse problemet ...

-- heller ikke coolmenus er nem at få til at holde en plads i en celle, der kan være forskellige steder, men Thomas har da i det mindste selv efterforsket problematikken og fundet en løsning !-)
Avatar billede blueeye97 Nybegynder
25. januar 2006 - 10:13 #31
Ok...

Jamen så tror jeg at jeg vil lukke igen...

Stor tak til Jer begge :o)
Avatar billede roenving Novice
25. januar 2006 - 10:19 #32
-- og jeg takker for point ;~}
Avatar billede dragonbook Nybegynder
25. januar 2006 - 14:00 #33
Tak for point :-)

du kan evt. prøve at oprette et spørgsmål på http://www.dynamicdrive.com/
da det er dem der har lavet scriptet. De plejer at være meget hjælpsomme...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester