Avatar billede mik789 Nybegynder
29. april 2002 - 23:48 Der er 35 kommentarer og
1 løsning

iframe i strict xhtml

På http://www.w3schools.com/xhtml/xhtml_reference.asp ser man en liste over alle tags i xhtml med angivelse af deres gyldighed i henholdsvis doctype strict, transitional eller frames. De fleste af de tags der IKKE er gyldige i doctype strict er elementer der bør erstattes af css. Men heller ikke <iframe> er gyldig. Hvad skal mon da erstatte iframe?

/mik
Avatar billede pelkjaer Nybegynder
29. april 2002 - 23:49 #1
<div style="overflow:auto"></div> ?
Avatar billede mik789 Nybegynder
29. april 2002 - 23:56 #2
pelkjaer> jeg tror du har ret. men kan man angive dimensioner og ramme for en <div> på samme måde som for en tabelcelle (eller som man får automatisk i en iframe, hvis man ønsker det)?
Avatar billede pelkjaer Nybegynder
29. april 2002 - 23:59 #3
Sådan:

<div style="border: 1px solid #000000; width:200px; height: 200px; overflow:auto"></div>
Avatar billede pelkjaer Nybegynder
30. april 2002 - 00:02 #4
Med indhold:

<div style="border: 1px solid #000000; width:200px; height: 200px; overflow:auto">
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
test test test test test test test test test test test <br />
</div>
Avatar billede mik789 Nybegynder
30. april 2002 - 00:15 #5
læg et svar ;-)
Avatar billede mik789 Nybegynder
30. april 2002 - 00:18 #6
men svar lige på flg.: kan man også skrive TIL en div på samme måde som man skriver til en ramme fra en anden ramme med et javascript (top.rammenavn.document.write() ) ?
Avatar billede mik789 Nybegynder
30. april 2002 - 08:28 #7
eller skal man skrive hele koden ud i scriptet hver gang, altså: documnet.divId.write('<div style.....>test test....</div>')
Avatar billede lerchedahl Nybegynder
30. april 2002 - 09:17 #8
hvis du har adgang til PHP eller SSI kan du inkludere filer i din div, ligsom hvis det var en iframe, lad mig uddybe hvis du er interesseret...
Avatar billede lerchedahl Nybegynder
30. april 2002 - 09:29 #9
nu skriver jeg det lige, for jeg kan sikkert ikke finde spørgsmålet igen ;-)

hvis du kalder din fil for *.php kan du skrive således i din div:

<div style="border: 1px solid #000000; width: 200px; height: 200px; overflow: auto;">

<?
 
if ($id == side1) {   
include "side1.inc";   
}   
if ($id == side2) {   
include "side2.inc";   
}
if ($id == side3) {   
include "side3.inc";   
}

?>

</div>

hvis du så vil se side3 i din div skal du linke til *.php?id=side3

/mvh
lerchedahl
Avatar billede lerchedahl Nybegynder
30. april 2002 - 09:32 #10
...du behøver ikke kalde de filer du inkluderer for *.inc, du kan kalde dem *.htm(l) eller såmend *.php, hvis du vil afvikle scripts fra dem også...
Avatar billede mik789 Nybegynder
30. april 2002 - 11:20 #11
lerchedahl> tak for det. jeg HAR adgang til php, så det er noget i den stil jeg har brug for, men det kræver at filerne inkluderes i min div ligeså hurtigt som som et javascript kan skrive i en ramme (dvs. uden ventetid til at loade fordi det der skrives kan loades i cachen forinden). Jeg har to div. I den ene er der tekst og i den anden skal der kunne indsættes bemærkninger ved mouseover af bestemte ord i den første div. Det er disse bemærkninger der skal inkluderes.
Avatar billede mik789 Nybegynder
01. maj 2002 - 06:14 #12
er der ingen af jer, der vil have pointene?
Avatar billede lerchedahl Nybegynder
02. maj 2002 - 09:26 #13
mik789 (11:20:42) >> Det kunne du da bare have sagt til at begynde med ;-)

Du behøver skam ikke rode dig ud i serverside scripting (php) for at klare den med mouseover-beskrivelser af dine links. Du kan klare den med en smule java script:

indsæt dette i <head> sektionen på den side:

<script language="javascript">
<!--
var description = new Array();
description[0] = "";
description[1] = "beskrivelse af link #1";
description[2] = "beskrivelse af link #2";
description[3] = "beskrivelse af link #3";
description[4] = "beskrivelse af link #4";
description[5] = "beskrivelse af link #5";
description[6] = "beskrivelse af link #6";
description[7] = "beskrivelse af link #7";
description[8] = "beskrivelse af link #8";
//-->
</script>

...indsæt dernæst dette på dine links:

ex:

<a href="side1.html" onMouseOver="dinDiv.innerHTML=description[1];">link 1</a>

du skal så kalde tildele den <div> som dine beskrivelser skal komme frem i et id: <div id="dinDiv"></div>

du har sikkert bemærket at jeg har lavet en tom description. Det er fordi du måske gerne vil have at beskrivelsen af linket skal forsvinde igen, når der ikke længere peges på linket.

du skal så tilføje en onmouseout event i dit link således:

<a href="side1.html" onMouseOver="dinDiv.innerHTML=description[1];" onMouseOut="Words.innerHTML=description[0];">link 1</a>

hvis ikke du gør det, bliver beskrivelsen hængende, indtil du peger på et andet link...

håber det kan bruges
/lerchedahl
Avatar billede lerchedahl Nybegynder
02. maj 2002 - 09:33 #14
et par rettelser: jeg kogte lidt i id'erne da jeg kopierede det fra min egen side ;-) ...der skal naturligvis stå "dinDiv" i stedet for "Words" i andet link-eksempel...

derudover nærlæste jeg lige din kommentar igen, og der står jo ingenting om links. Men du kan også sagtens få disse beskrivelser på enkelte ord i en tekst (hvis det da er det du mener...) ved at skrive således:

"hist hvor <span onMouseOver="dinDiv.innerHTML=description[1];">vejen</span> slår en bugt"

/mvh
lerchedahl
Avatar billede lerchedahl Nybegynder
02. maj 2002 - 10:48 #15
takker for point :o)
Avatar billede mik789 Nybegynder
02. maj 2002 - 12:32 #16
ja, <span> er en bedre løsning. det kører fint i IE. har dog stadig problemer i NS6. Her er man nødt til at rytte dinDiv før man kan få vist en ny note. Lad mig forklare: i IE kører det sådan: når man fører musen over <span>et ord</span>, vises note1 i dinDiv, og når man så fører musen over <span>et andet ord</span> vises note2 osv. Men i NS6 kan man ikke gå direkte fra note1 til note2. I så fald sker der ikke noget, når man holder musen over det andet ord. Man er nødt til at rytte dinDiv hver gang en ny note skal vises, altså inden musen holdes over et andet ord med note. Derfor har jeg så indsat en knap der rytter dinDiv, men det er en klodset løsning i forhold til IE. Der er noget om at NS ikke er så glad for innerHTML - måske er det derfor. Har også været nødt til at bruge getElementById('dinDiv').innerHTML i stedet for bare dinDiv.innerHTML for at NS vil spise det. Jeg lægger lige siden (rent forsøg ind til videre) på http://www.dahr.dk/div-iframe.html så du kan se det.
/mik
Avatar billede mik789 Nybegynder
02. maj 2002 - 12:37 #17
og så fik jeg lige en anden forskrækkelse: når man angiver div'ernes placering på siden i % så bliver den ikke automatisk tilpasset, når vinduet resizes til et mindre format. hvordan får man browseren til at tage højde for det?
Avatar billede pelkjaer Nybegynder
02. maj 2002 - 12:39 #18
Reloader siden ved resize :)

Fx. med

function MyResize(){ location.reload() }
onresize=MyResize;
Avatar billede mik789 Nybegynder
02. maj 2002 - 12:39 #19
ignorer det sidste sp. jeg opretter et nyt sp. for det. men det med innerHTML og NS6 må meget gerne køre videre her.
Avatar billede mik789 Nybegynder
02. maj 2002 - 12:40 #20
pelkjaer> ok! tak så sparer det sp. (er temmelig flad med points ;-)
Avatar billede mik789 Nybegynder
02. maj 2002 - 13:13 #21
pelkjaer> ka' ikke finde ud af det. altså hvor placeres onresize="MyResize(); ? i <body>? det virker ikke.
Avatar billede mik789 Nybegynder
02. maj 2002 - 13:14 #22
hov, der manglede lige et "
Avatar billede pelkjaer Nybegynder
02. maj 2002 - 13:17 #23
<script type="text/javascript">
<!--
function MyResize(){ location.reload() }
onresize=MyResize;
//-->
</script>

Placeres i head sektionen.
Avatar billede mik789 Nybegynder
02. maj 2002 - 13:37 #24
ok, det har jeg også prøvet, og jeg kan godt se at siden reloader, men det løser ikke problemet. er det noget med den måde, jeg har defineret mine div'er? her er noget af koden (i min style):

  div#page {
    border:1px solid #cc0000; position:absolute; left:10%; bottom:2%; width:50%; height:550px; overflow:auto; text-align:left; padding: 5px 5px 5px 5px;
    }
  div#reference {
    border:1px solid #0000ff; position:absolute; left:64%; bottom:2%; width:35%; height:200px; overflow:auto; text-align:left; padding: 5px 5px 5px 5px;
    }
  div#ryd {
    border:0px; position:absolute; left:64%; bottom:38%; width:35%; height:15px;
    }

--- der sker i alle fald det uheldige at div'en ryd (der indeholder en knap) kommer ned i div'en reference, og div'en page bliver kun vist fra bunden så det halve mangler (inkl.scrollbaren - og så er man jo på den).
Avatar billede pelkjaer Nybegynder
02. maj 2002 - 13:39 #25
Hmm..jeg har nu aldrig selv brugt "%" på div/spans, men jeg kunne da godt mistænke at det er der problemet ligger.
Avatar billede mik789 Nybegynder
02. maj 2002 - 13:41 #26
ok, jeg forsøger med px i stedet. tak så langt.
Avatar billede mik789 Nybegynder
02. maj 2002 - 14:46 #27
pelkjaer> så lykkedes det! det er rigtigt, jeg skulle blot erstate % med px, så justerer vinduet selv placeringen ved resize. jeg lægger lige et sp. med 15 points til dig også. det var god hjælp jeg fik.
Avatar billede jakoba Nybegynder
02. maj 2002 - 14:54 #28
når du bruger funktionen location.reload vil jeg anbefale at du altid siger
enten:
    location.reload(false); // reload fra cashe
eller
    location.reload(true); // reload fra server

der er ingen regel i javascript der fortæller hvad der skal ske hvis du udelader den parameter, så du risikerer at der kommer reload fra server.

mvh JakobA
Avatar billede pelkjaer Nybegynder
02. maj 2002 - 14:57 #29
Ja det er egentlig rigtigt nok. Thanks :)
Avatar billede mik789 Nybegynder
02. maj 2002 - 22:02 #30
jakoba> kunne man få bare en  lillebitte forklaring ;-/ (det plejer du at være flink til, når bare man spør')
hvad gør parametrene false/true her? hvorfor virker det som det gør (reload fra cache/server)?
Avatar billede pelkjaer Nybegynder
03. maj 2002 - 07:52 #31
Jeg går ud fra at han blot gør opmærksom på risikoen for reload via server når man ikke angiver noget.
Avatar billede mik789 Nybegynder
03. maj 2002 - 08:37 #32
hmmn, jeg kan overhovedet ikke mærke nogen forskel hvad enten jeg bruger parameteren false eller true. er det for at siden skal reloade hurtigere? men hvorfor har true / false den virkning her?
Avatar billede mik789 Nybegynder
03. maj 2002 - 08:45 #33
OK, når man sætter false ind som parameter ved reload() så betyder det noget i retning af: "Reload! [underforstået reload er som default fra server], men gør det alligevel ikke [parameteren "false"]". Så man sætter den i gang med at reloade, men ved samtidig at sige at det skal den alligevel ikke gøre, reloader den i stedet fra serveren. Noget i den stil?
Avatar billede mik789 Nybegynder
03. maj 2002 - 08:47 #34
sludder: fra cachen selvfølgelig (sidste sætning)
Avatar billede pelkjaer Nybegynder
03. maj 2002 - 08:50 #35
Ikke nødvendigvis, men den risikerer man.
Avatar billede mik789 Nybegynder
03. maj 2002 - 08:53 #36
taler vi lidt forbi hinanden? læs min sidste sætning sådan: "Så man sætter den i gang med at reloade, men ved samtidig at sige at det skal den alligevel ikke gøre, reloader den i stedet fra _cachen_."

;-)
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