Avatar billede zity Nybegynder
17. september 2005 - 08:22 Der er 11 kommentarer og
1 løsning

iframes virker ikke i IE

Jeg er ved at bygge et nyt design til min blog/webside. Men jeg har et mystisk problem som jeg ikke lige ved hvordan jeg skal løse. Siden virker 100% i Firefox. Men IE kan overhoved ikke finde ud af at vise noget i mine iframes, hvilket jeg ikke helt forstår. (Designet skal også lige optimeres til IE (: )

Nogle der kan hjælpe?

Siden kan ses her: http://www.penguinpower.frac.dk/test/
Avatar billede zity Nybegynder
17. september 2005 - 08:59 #1
Man skulle bare fjerne '"http://www.w3.org/TR/html4/loose.dtd"' i DOCTYPE så virker det...

Lukker
Avatar billede roenving Novice
17. september 2005 - 12:19 #2
Hvis du fjerner dtd-linket fjerner du samtidig IEs understøttelse af en hel række meget væsentlige dele af css !-)
Avatar billede olebole Juniormester
17. september 2005 - 14:08 #3
<ole>

Ja, det virker at fjerne definitions-URL'en, hvis ens CSS-kode er fejlfyldt - men har man skrevet koden nogenlunde ordentligt, hjælper det ikke at fjerne den. Ved at fjerne den, introducerer du en laaaang række andre fejl.

Som roenving anfører, så disabler du de vigtigste dele af CSS ved at fjerne URL'en - men det er selvfølgelig en elendig løsning.
Målet må være at skrive god kode, der tolkes korrekt ... og så er det et helt andet sted, du skal tage fat  :)

/mvh
</bole>
Avatar billede zity Nybegynder
17. september 2005 - 14:17 #4
Tja ved bare ik hvad jeg skal tage fat på... Siden er valid HTML og Valig CSS sååå...
Avatar billede olebole Juniormester
17. september 2005 - 14:26 #5
Valid ...? - og så ...?!??!!!  ;o)

Valid kode er ikke nødvendigvis god kode.
God kode er altid valid kode.

En validator kan checke, om du har direkte syntaktiske fejl, men om du har skrevet noget fornuftigt, kan validatoren ikke se.

"Guldfisken sænker sig mod loftet i gulerodens faster"
Der er ingen stavefejl, men ved Gud heller ikke noget fornuft i den sætning. Den slags glider glat gennem validatoren - selvom sætningen er komplet ubrugelig.

Det, du skal gøre, er at lære, hvad der skal stå i CSS-koden, for at den virker, når en browser som IE overholder CSS-standarden  :)
Avatar billede zity Nybegynder
17. september 2005 - 14:28 #6
CSS koden har vel ik noget at gøre med om IE ikke kan forstå en iframe når jeg har den adresse med i DOCTYPE :S
Avatar billede olebole Juniormester
17. september 2005 - 14:33 #7
Jo, det kan den da sagtens - for dine iframes har uden tvivl været tilstede - men formodentligt været gemt p.gr.a. fejlfyldt CSS  ;o)

I øvrigt kan du teste dette dokument i FF og IE. Prøv det med og uden DTD - og prøv også bare at slette URL'en i DTD'en.
FF viser siden korrekt under alle omstændigheder. IE viser den kun korrekt, hvis DTD'en ser ud som nu  ;o)
Avatar billede olebole Juniormester
17. september 2005 - 14:33 #8
Ups ... her er det:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
<style type="text/css">
div {
    width: 200px;
    height: 200px;
    background-color: yellow;
}
</style>
</head>
<body>

<div>En tekst ...</div>

<div style="border:50px solid red">En tekst ...</div>

</body>
</html>
Avatar billede zity Nybegynder
17. september 2005 - 14:35 #9
Ja ved godt at IE ikke kan finde ud af at bruge CSS... Men kan stdig ik se hvad det har med min iframe at gøre... (ellers er jeg bar lidt tungnem)
Avatar billede olebole Juniormester
17. september 2005 - 14:42 #10
Det skal jeg afholde mig fra at udtale mig om - men nøjes med at vise dig to dokumenter, der begge er valide - og begge opfører sig helt efter standarderne:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
</head>
<body>

<table style="width:800px;height:500px">
<tr>
    <td><iframe src="http://www.google.com" style="width:100%;height:100%"></iframe></td>
</tr>
</table>

</body>
</html>

- og:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>TITLE</title>
</head>
<body>

<table style="width:800px;height:500px">
<tr>
    <td style="height:100%"><iframe src="http://www.google.com" style="width:100%;height:100%"></iframe></td>
</tr>
</table>

</body>
</html>

- så må du selv stå for at bedømme dine mentale evner  :)
Avatar billede olebole Juniormester
17. september 2005 - 14:45 #11
- men det første dokument fungerer fint i IE, når denne ikke overholder CSS-standarden, der jo tydeligt bekendtgør at:
Når et element tildeles en relativ højde (højde i procent), så skal den udregnes på baggrund af det omkransende elements højde - hvorfor denne eksplicit skal være sat  ;o)
Avatar billede olebole Juniormester
17. september 2005 - 15:07 #12
- og kik iøvrigt her, hvor MS selv fortæller noget af sandheden - kik under 'The DocType Switch':
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp

- men faktisk er IE så nøjeregnende, at blot en HTML-kommentar før en fuld DTD, sætter IE i quirks-mode.

Du kan selv teste sider rundt om på WWW, hvis du indtaster:
    java script:alert(document.compatMode)
- i adresselinjen på browseren og trykker 'Return'.

Returneres 'CSS1Compat', overholder dokumentet CSS-standarden - returneres derimod 'BackCompat', er IE gået i quirks-mode og overholder ikke standarden  :)
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