繁体   English   中英

随机加载CSS文件-在IE8中不起作用(7?)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM