首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据不同的URL加载不同的css

根据不同的URL加载不同的css
EN

Stack Overflow用户
提问于 2015-08-12 07:49:51
回答 2查看 1.7K关注 0票数 4

如何根据不同的url加载不同的css?

示例:

代码语言:javascript
复制
https://domain1.tld & https://*.domain.tld => css1.css
https://domain2.tld & https://*.domain2.tld => css2.css
https://elsedomain.tld & https://*.elsedomain.tld => css3.css

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-08-12 09:35:35

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

代码语言:javascript
复制
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文件的代码,并将其指定如下:

代码语言:javascript
复制
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;

  }
}

可能有更整洁的方法..。

票数 0
EN

Stack Overflow用户

发布于 2015-08-12 07:52:46

因为所有这些都在不同的域中,所以您只需将css文件链接到所提供的标记中即可。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31959119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档