文章目录

如何使用Javascript加载CSS文件?

以下方法为老实的写法,希望可以在所有浏览器上使用。

但是setAttribute很不幸的在IE6上并不支持它。

javascript代码var cssId = 'myCss';  // you could encode the css path itself to generate id..
  if (!document.getElementById(cssId))
  {
     var head  = document.getElementsByTagName('head')[0];
     var link  = document.createElement('link');
     link.id   = cssId;
     link.rel  = 'stylesheet';
     link.type = 'text/css';
     link.href = 'http://website.com/css/stylesheet.css';
     link.media = 'all';
     head.appendChild(link);
  }

这个例子检查CSS是否已经被添加,所以它只会被添加一次。

把这个代码放到一个javascript文件中,让最终用户简单地包含javascript,并确保CSS路径是绝对的,所以它将从服务器加载。

下面是一个使用普通JavaScript来写的,根据URL的文件名部分将CSS链接注入到元素中的例子:

javascript代码var file = location.pathname.split( "/" ).pop();
  
  var link = document.createElement( "link" );
  link.href = file.substr( 0, file.lastIndexOf( "." ) ) + ".css";
  link.type = "text/css";
  link.rel = "stylesheet";
  link.media = "screen,print";
  
  document.getElementsByTagName( "head" )[0].appendChild( link );

运行以上代码,将会在head标记之前插入。

<link href="test.css" type="text/css" rel="stylesheet" media="screen,print">

并在页面呈现之前加载CSS。

本文网址:http://www.santii.com/article/182.html


数据更新时间:2018-11-16