如何根据网址加载不同的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
提前致谢。
答案 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文件。