Welcome to WebmasterWorld Guest from 54.147.44.13

Forum Moderators: not2easy

Message Too Old, No Replies

Applying an External Stylesheet

using JavaScript

     
9:09 am on Apr 12, 2002 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Apr 10, 2001
posts:793
votes: 0


I only need this for IE5+ but basically we want to script the inclusion of an external stylesheet using javascript (to a child window).

We could use:
document.body.insertAdjacentHTML('beforeEnd','<link etc etc>');

but I'm sure there must be a more elegant solution.

3:42 am on Apr 13, 2002 (gmt 0)

Senior Member

WebmasterWorld Senior Member tedster is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:May 26, 2000
posts:37301
votes: 0


Seems like that's the direction you need...not sure what else you can do, joshie76
12:16 pm on Apr 13, 2002 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Apr 10, 2001
posts:793
votes: 0


Well darn it. My original idea (above) doesn't actually seem to work. Bit stuck now, any other ideas guys?

Let me quickly explain why we need it. The child window's (iframe) source is dynamically generated by a .dll (organisation chart software). This is a stand alone product which we are integrating into another web app and want to add some of our web app style to it. The chances of the .dll output changing to include our stylesheet are zero - hence our need for a client-side solution.

4:19 pm on Apr 13, 2002 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Apr 10, 2001
posts:793
votes: 0


Got it!

<iframe name="myiframe" src="page.htm">
</iframe>

<script type="text/javascript">
window.myiframe.attachEvent('onload',attachCSS)
function attachCSS()
{
linkelm=document.createElement("link");
linkelm.rel="stylesheet";
linkelm.type="text/css";
linkelm.href="test.css";
window.myiframe.document.body.insertAdjacentElement('beforeEnd',linkelm);
}
</script>