[英]Random CSS file loading - not working in IE8 (7?)
我使用一些随机化功能来动态加载CSS文件:
var cookie = $.cookie('necgroupcolour', { path: '/' });
if (cookie == null) {
var rnd = Math.floor(Math.random() * 3);
$.cookie('necgroupcolour', rnd, { path: '/' });
}
switch ($.cookie('necgroupcolour', { path: '/' })) {
case "0":
$('head').append('<link rel="stylesheet" type="text/css" href="/css/purple/HomeMaster.css" />');
break;
case "1":
$('head').append('<link rel="stylesheet" type="text/css" href="/css/blue/HomeMaster.css" />');
break;
case "2":
$('head').append('<link rel="stylesheet" type="text/css" href="/css/green/HomeMaster.css" />');
break;
default:
$('head').append('<link rel="stylesheet" type="text/css" href="/css/purple/HomeMaster.css" />');
}
此功能在Firefox,Safari,Chrome浏览器中正常运行,但在IE8或更低版本中则无法运行。
通过Fiddler运行此程序并检查源代码时,您可以看到没有CSS文件正在加载。
有什么想法可以解决这个问题吗?
也许尝试将这段代码放在首位并使用document.write。 丑陋,但会起作用。
我知道这可能为时已晚,但可能会对其他人有所帮助。
而不是使用
$('head').append('<link rel="stylesheet" type="text/css" href="PATH_TO_CSS_FILE>');
使用以下代码:
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", PATH_TO_CSS_FILE);
document.getElementsByTagName("head")[0].appendChild(fileref);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.