13. oktober 2004 - 16:22Der er
15 kommentarer og 1 løsning
Angive Css i iframe, med javascript
HI
Jeg har en iframe på en af mine sider, men jeg kan ikke lige gennemskue hvordan jeg får linket til min css fil.
Problemmer er at iframet ikke indeholder en fil (ingen src=), men indholdet bliver genneret af noget javscript: .. sTmp=miniframe.document.body.innerHTML ..
Normalt ville jeg jo blot kunne indsætte, i toppen af det dokument, jeg linkede til i min iframe: <style type="text/css" title="currentStyle"> @import "../../z.css"; </style>
Er der nolge som har en ide.
Jeg har selv overveget et eller andet i denne stil. miniframe.document.style = "../../z.css";
Mange danske iværksættere og mindre virksomheder stiller sig det samme spørgsmål, inden de køber webhotel: Kan jeg stole på, at prisen, driften og supporten holder, når introduktionsperioden er slut?
Det er fordi, at den tekst der findes i min iframe ikke et er regulært dokument, men kun noget tekst og uden både <body> <head> mm. Teksten er et udtræk fra en database.
Findes der ikke en smart, lille trick så jeg ikke behøvet at indsætte linket til min css fil.
Jeg ville kunne gøre det sådan her. ------------------------------------------------
miniframe.document.style = "color: bla; bla:;"
-------------------------------------------- Men dette holder ligesom ikke når jeg har en css fil på 8 kb.
Jeg havde høbet på noget i denne stil. ------------------------------------------------
Nej, desværre kan man i f.eks. Mozilla ikke manipulere stylesheets, runtime. Man kan sætte styles på enkelt-elementer, men ikke ændre et stylesheet. Ikke engang dette forstår Moz:
<script type="text/JavaScript"> function setStyles() { var fD = frames["ib"].document; var myHead = fD.getElementsByTagName("HEAD")[0]; var ss = fD.createElement("LINK"); ss.rel = "StyleSheet"; ss.type = "text/css"; ss.href = "test.css"; myHead.appendChild(ss); } </script>
Det jeg har lavet er en simpel editor, hvor jeg han redigere mit database indholde (fed, kursiv og lign.). Derfor vil jeg helt undgå at have et link i selve tesksten, idet den senere skal trækkes od og indsættes i den indholds skabelon, som allerede indeholder et head, body og derved også et link til mit stylesheet.
Det vil altså komme til at se såleded ud <html> <body> <head> <link rel="stylesheet" type="text/css" href="../../z.css"> <head> <body> ..
<!-- start tekst min iframe --> <link rel="stylesheet" type="text/css" href="../../z.css"> dsadas dsad <!-- slut tekst fra iframe --> ..
Den første error kommer stadig, men den blokkerer ikke for yderligere brug af browseren. Hvis man havde lidt mere tid på onunload-event'en, ville den fange fejlen helt. Det virker fint, hvis der replace'es med en knap inden der reloades.
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.