根据其URL加载不同的css

时间:2015-08-12 07:49:51

标签: javascript jquery

如何根据网址加载不同的CSS

示例:

https://domain1.tld & https://*.domain.tld => css1.css
https://domain2.tld & https://*.domain2.tld => css2.css
https://elsedomain.tld & https://*.elsedomain.tld => css3.css

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果必须使用JavaScript(而不是将其构建到.NET项目或示例中),您可以使用查看主机的case语句:

function mymodule_preprocess_html() {
  var site = window.location.hostname;

  switch (site) {
    case 'siteurl1':
      //Add code for site 1 here
      break;
    case 'siteurl2':
      //Add code for site 2 here
      break;
    case 'siteurl3':
      //Add code for site 3 here
      break;

  }
}

然后可以添加和指定使用JavaScript插入CSS文件的代码,如下所示:

function mymodule_preprocess_html() {
  var site = window.location.hostname;

  switch (site) {
    case 'siteurl1':
         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/stylesheet1.css';
         link.media = 'all';
         head.appendChild(link);
      break;
    case 'siteurl2':
         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/stylesheet2.css';
         link.media = 'all';
         head.appendChild(link);
      break;
    case 'siteurl3':
         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/stylesheet3.css';
         link.media = 'all';
         head.appendChild(link);
      break;

  }
}

可能有更简洁的方法......

答案 1 :(得分:-1)

由于所有这些都在不同的域中,您可以在提供服务的标记中链接css文件。