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

动态更改样式表路径在IE和Firefox中不起作用

隆璞
2023-03-14
问题内容

我有以下文件:

<html>
<head>
<title></title>
<link rel="css" type="text/css" href="/empty.css" title="css" />
<script type="text/javascript" src="/Prototype"></script>
<script type="text/javascript">
function load_content()
{
  var d = new Date();
  new Ajax.PeriodicalUpdater('content', '/DOC?'+d.getTime(),
  {
    method: 'post',
    frequency: 5,
    onSuccess: function(transport) {
            for(i=0; (a = document.getElementsByTagName('link')[i]); i++) 
            {
                if(a.getAttribute('rel') == 'css' && a.getAttribute("type") == 'text/css') 
                {
                    a.href = '/CSS?'+d.getTime();
                }

            }
    }
  });

}
</script>

</head>

<body>

<div id="content"></div>

<script type="text/javascript">
    load_content();
</script>

</body>
</html>

注意:忽略d.getTime()调用…这些只是为了解决IE无法从AJAX调用加载新页面的问题,因为它的缓存方案过于激进。

基本上,当它在/ DOC处重新加载文件时,应该将当前样式表设置为/ CSS处的文件… DOC和CSS都在不断变化。

奇怪的是,在Chrome浏览器中效果很好。将DOC加载到“内容”
div中,并将样式表设置为CSS,并将CSS应用于页面。我可以更改CSS页面并用5秒钟的时间进行更改,刷新页面后,CSS也会被刷新。

但是,在IE和Firefox的HTML将加载,我可以看到,样式表链接的href属性 IS 越来越改为“/ CSS
+的getTime()”,但是,而HTML的负荷,CSS是 从未
应用到该页面。我什至可以更改DOC的内容并进行更新,但是css从未应用过。它只是一个没有样式的页面。

Firefox和IE是否不支持以这种方式更改样式表引用?有一个更好的方法吗?


问题答案:

与其在单个链接中更改工作表,不如尝试使用其他样式表。有关使用备用样式表的信息,请参见以下链接:

http://www.alistapart.com/articles/alternate/



 类似资料:
  • 问题内容: 我动态加载CSS样式表(在jQuery的帮助下),如下所示: 这在Firefox和Google Chrome浏览器中工作正常,但在IE中则 不能 。 有什么帮助吗?谢谢 问题答案: IE处理完页面加载的所有样式后,添加另一种样式表的唯一可靠方法是 有关更多详细信息。

  • 问题内容: 我在尝试使用内包装创建with时遇到了一些麻烦。 我注意到它在Firefox和IE 9中不起作用。 这是问题的摆弄。您会注意到它和Chrome或Opera一样都能正常工作。 代码有什么问题? 有什么办法解决吗? 我想保留和的父母,以便将内容垂直放置在可变高度的容器上。 HTML CSS 问题答案: 为了工作,所有父容器必须为。如果您注意到,则您的样式没有。 添加此样式可解决Firefo

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

  • 问题内容: 我想动态更改log4j日志文件的路径和文件名。 我已经阅读了很多页面,几乎每个页面都告诉我应该使用此处的系统属性: [如何动态更改log4j日志文件?](http://codingdict.com/questions/141150 所以我的log4j.properties文件看起来像这样: 在我的主要方法中,我将设置新的系统属性: 但是我只是得到一个错误: 当我尝试使用以下命令读取设置

  • 问题内容: 是否可以动态更改全局样式表? 编辑:目的是允许用户选择他喜欢的样式。 在Angular 1中,我能够将控制器包装在head标签周围并在其中使用绑定。 下面的示例(简化代码): index.html AppController 在Angular 2中有可能吗? 问题答案: 我最终使用了Igor在这里提到的DOCUMENT令牌。 从那里,我可以将href换成样式。 HTML: TS:

  • 问题内容: 我正在写一个Ajax联系表格。我也写了我自己的验证码。但是我有刷新图像的问题。我这样写: 重新加载验证码: 和captcha_p.php文件: 并且我已将以下行添加到capcha.php中: 它在Google Chrome和Safari上完美运行。但不适用于Firefox和资源管理器。 谢谢! 问题答案: 看来Firefox和IE正在缓存图像。为防止这种情况,请将时间戳记附加到URL和