使用document.write加载外部css失败

时间:2012-01-10 08:22:56

标签: javascript ajax dom

当我想用document.write()加载css文件时我遇到问题当我检查firebug时我收到消息

  

重新加载页面以获取common.css

的来源

我认为可以通过重新加载页面解决,但是当我再次重新加载时,消息是相同的......因为我的代码是这样的......

var details = '';
    details += '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>';
    details += '<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"/> ';
    details += '<link type="text/css" href="common.css" rel="stylesheet"/>';
    details += '<title>bla..bla..bla..</title>';
    details += '</head>';
    details += '<body>';
    details += '<div id="header">' + '<h1>' + "what do you want" + '</h1></div>';
    details += '<div id="content"></div>';
    details += '<div id="footer"></div>';
    details += '</body>';
    details += '</html>';
    document.open();
    document.write(details);
    document.close();
什么错了? 请告诉我这个问题,谢谢你的回答......

1 个答案:

答案 0 :(得分:1)

如果你想用javascript加载一个css文件我建议你创建一个元素并注入它而不是使用document.write

    var css = document.createElement('link'); 
    css.type = 'text/css'; 
    css.src = 'common.css';
    var link = document.getElementsByTagName('title')[0]; 
    link.parentNode.insertBefore(css, link);