25. juni 2005 - 18:38Der er
9 kommentarer og 1 løsning
validere allowtransparency
Kan man ikke på en eller anden måde opnå en valid <iframe allowtransparency="true"> med <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ...eller kan det bare overhovedet ikke lade sig gøre ??
Forsker og ingeniør inden for AI Robert Luciani arbejder med det nyeste i kunstig intelligens.
Slettet bruger
25. juni 2005 - 18:44#1
Nej, hvis du bruger ikke-standard elementer og/eller attrbutter, så kan du ikke have valid kode. Så simpelt er det.
Synes godt om
Slettet bruger
25. juni 2005 - 18:54#2
Okay. Skulle lige være helt sikker. ...Og man kan ikke lave et lille valid script som fortæller iframe'en at den er transperant ??
Anyway, nogen som ved noget om #1 hvorfor transparency ikke er "godkendt", og #2 om det måske vil blive det senere...
Synes godt om
Slettet bruger
25. juni 2005 - 20:33#3
Jeg kender ikke til en script-metode, der kan sætte den attribut, men jeg beskæftiger mig heller ikke meget med Microsoft-produkter, og er derfor ikke synderlig interesseret i at sætte mig ind i ting, der udelukkende virker på disse.
Du kan muligvis lave noget med "conditional comments", men jeg ved ikke med sikkerhed om nummer to af dem vil være gyldig.
<!--[if IE]> Her er koden til IE <![endif]--> <![if !IE]> Her er den samme kode i en gyldig udgave <![endif]>
En validator og alle andre browsere end IE vil ganske simpelt ignorere koden, der kun er til IE. Og IE vil ligeledes ignorere koden til de andre.
Synes godt om
Slettet bruger
25. juni 2005 - 22:37#4
Okay. Tak skal du ha', sandbox! Jeg gemmer ideen til en anden god gang, da jeg ikke kan bruge den til mit nuværende. Men som sagt; skulle også bare lige høre ad...
Jeg har selv ligget og luret på samme problem og vil til det blot sige at problemet med transperant iframes ikke _kun_ er behæftet på IE Opera kender ikke AllowTransparency og kan/vil ikke sætte bagrunden transperant Jeg har ikke selv kunne finde en løsning, dog fundet en forklaring som hedder at en iframe er et "vindue til en anden side" hvorfor den viser sidens baggrund, da der ikke er nogen anden baggrund. Lyder måske fair nok, ville bare være rart hvis det kunne omgåes :o)
Og så et ps, I min kode er det eneste som validatoren brokker sig over også kun AllowTransparency. Men alt andet er validt, og det kører fint i IE, FF, NN og Opera - med undtagelse af at opera ikke gør noget ved transperanten, men det gør den alligevel ikke, så det bliver vist som det altid ville blive vist ....desværre
Også vil jeg lige tilføje - som busschou også skriver - at "allowTransparency" altså virker i næste alle browsere, men undtaget Opera! Så det er _ikke_ kun IE!
Du skriver at det er helt legalt. Det er vel så et spørgsmål om definition - er det ik'?? Man "snyder" sig jo til en valid kode...
legalt eller ej :o) Du kan jo benytte name attributen i stedet for id, ala ---- window.onload = function(){ elms = document.getElementsByName("transparentIFrame") for (i=0;i<elms.length;i++){ elms[i].setAttribute("allowTransparency",true); } } ---- ps: Ole >> du har ikke et fiks til en løsning i Opera tilfældigvis vel ? ;o)
Legaliteten er helt åbenbar, for det handler om hvad man må i DOM-modellen for javascript-binding til html, ikke hvad man må for at lave attributter i (X)HTML ...
-- jeg stødte dog den anden dag ind i et problem, da jeg benyttede mig af en lignende metode, nemlig at det specielle tilfælde, som var spørgsmålet her ikke tillod oprettelse af en attribut med en direkte adressering (vi prøvede så ikke med setAttribute-tingen, men min egen test-ting virkede ganske udmærket lokalt overfor både IE og Mozilla !-)
- men du kunne også anvende nogle færre iframes :)
Synes godt om
Ny brugerNybegynder
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.