2010-08-20 48 views
4

我的页面上有一个按钮,并且有onclick事件,如果应该从服务器追加到<head> CSS文件并执行其他操作。 它完全在FF,但在IE浏览器,它似乎没有工作(它没有追加<link><head> - 但CSS不会影响元素)在IE中的动态CSS加载将无法运行

继承人我当前的代码:

function loadDynamicCss(filename) { 
    var fileref = document.createElement("link") 
    fileref.setAttribute("rel", "stylesheet") 
    fileref.setAttribute("type", "text/css") 
    fileref.setAttribute("href", filename) 
    document.getElementsByTagName("head")[0].appendChild(fileref); 
} 

这可能是什么原因造成的?

谢谢!

+0

请出示一些代码。 – 2010-08-20 12:12:46

+0

你想重新加载相同的样式表吗? – jpluijmers 2010-08-20 12:21:08

+0

这是一个简单的IE缓存问题?您是否尝试将附加链接标记中的网址粘贴到IE的URL字段中,然后重新加载页面? – 2010-08-20 12:57:31

回答

1

试试这个功能:

function include_css(url) { 
var page = document.getElementsByTagName('head')[0], 
     cssElem = document.createElement('link'); 

     cssElem.setAttribute('rel', 'css'); 
     cssElem.setAttribute('type', 'text/css'); 
     cssElem.setAttribute('href', url); 

     page.appendChild(cssElem); 
} 
+0

当我用ejs渲染后处理视图时,不适用于我。 – lyuba 2011-04-20 20:37:31

+1

OPs代码有什么不同?我没看到它。 – ZeissS 2012-01-05 20:20:04

+0

@Himberjack:您能否确认此解决方案适合您? – 2012-08-29 06:28:35