当前位置: 首页 > 面试题库 >

动态加载CSS样式表在IE上不起作用

徐兴昌
2023-03-14
问题内容

我动态加载CSS样式表(在jQuery的帮助下),如下所示:

var head = document.getElementsByTagName('head')[0];
$(document.createElement('link'))
    .attr({ type: 'text/css', href: '../../mz/mz.css', rel: 'stylesheet' })
    .appendTo(head);

这在Firefox和Google Chrome浏览器中工作正常,但在IE中则 不能

有什么帮助吗?谢谢


问题答案:

IE处理完页面加载的所有样式后,添加另一种样式表的唯一可靠方法document.createStyleSheet(url)

有关更多详细信息。

url = 'style.css';
if (document.createStyleSheet)
{
    document.createStyleSheet(url);
}
else
{
    $('<link rel="stylesheet" type="text/css" href="' + url + '" />').appendTo('head'); 
}


 类似资料:
  • 问题内容: 我有以下文件: 注意:忽略d.getTime()调用…这些只是为了解决IE无法从AJAX调用加载新页面的问题,因为它的缓存方案过于激进。 基本上,当它在/ DOC处重新加载文件时,应该将当前样式表设置为/ CSS处的文件… DOC和CSS都在不断变化。 奇怪的是,在Chrome浏览器中效果很好。将DOC加载到“内容” div中,并将样式表设置为CSS,并将CSS应用于页面。我可以更改C

  • 问题内容: 我在这里看到了几个类似的问题,但没有真正的答案。希望有人注意到这一点… IE 8及更低版本在将它们加载到document.ready jquery调用中时,拒绝应用标题中定义的css样式表中的样式。 偏执的客户希望NOBODY可以查看代码或开发站点,因此我必须举一个简短的示例。客户希望该站点仅在几乎唯一的“ ajaxed”站点上呈现HTML的相关部分。因此,该站点就像一个网格。如果加载

  • 问题内容: 我想根据角度控制器中函数的返回值设置div的位置 以下内容在FireFox和chrome中可以正常运行,但在Internet Explorer中会被解释为文字字符串值,因此无效 这是问题的示例: 这是一个 小提琴 来演示 有没有人建议如何纠正? 问题答案: 您必须使用ng- style 而不是style,否则某些浏览器会在甚至angular都没有机会渲染它之前删除无效的style属性值

  • 问题内容: 我正在尝试为我的网站创建页面主题功能。我想使用单独的CSS文件在页面上动态加载相应的主题。 我正在使用此代码: 效果很好,但是如果CSS文件未加载,它不会返回任何信息。 加载时,有什么方法可以捕捉吗?也许通过使用ajax? 问题答案: 加载CSS文件(或其任何其他更改)时,Internet Explorer会触发一个事件。其他浏览器不会触发任何事件,因此您将必须手动检查样式表是否已加载

  • 问题内容: 这是我的CSS块: 我只希望IE 7、8和9能够“看到” 最简单的方法是什么? 问题答案: 更新2017 根据环境的不同,在IE10 +中已[正式弃用并删除.aspx)了条件注释。 原版的 最简单的方法可能是在HTML中使用Internet Explorer条件注释 您可以使用许多技巧(例如下划线hack),这些技巧将仅允许您将样式表中的IE作为目标,但是如果要在所有平台上将IE的所有

  • 问题内容: 从下面的代码中,我正在创建一个动态锚标记,用于下载文件。此代码在Chrome中效果很好,但在IE中效果不佳。我该如何工作 问题答案: Internet Explorer当前不支持标签上的属性。 参见http://caniuse.com/download和http://status.modern.ie/adownloadattribute;后者表示该功能是IE12的“正在考虑中”。