IE不使用重定向的URL来解析相对URL

时间:2011-09-08 15:55:42

标签: css internet-explorer url servlets

我有一个servlet,它为给定的colorScheme名称生成CSS(如果它存在于数据库中)。但是,如果找不到colorScheme,它会将response.sendRedirect()发送到我们CDN上实际文件的位置。

除了IE之外,当CSS包含图标,背景等图像的相对链接时,这适用于所有浏览器。每个其他浏览器使用重定向的URL(CDN URL)来解析CSS文件中的相对URL,但IE仍然使用原始请求URL(servlet URL)。

由于我无法进入的多种原因,我无法将相对URL更改为CSS文件中的绝对URL。有没有办法让IE使用重定向的URL而不是相对URL解析的请求URL?

3 个答案:

答案 0 :(得分:2)

听起来更像代码设计问题。就个人而言,我不依赖IE来做任何事情。它总是让我失望:(。我总是会使用HTML LINK标签在CDN开头包含你的CSS,然后让JS导入覆盖它。这样你的网站在noscript浏览器中看起来也会不错。

答案 1 :(得分:0)

作为一种解决方法,您可以使用css @import标记而不是重定向到外部css文件。

@import url('http://www.example.org/style.css');

答案 2 :(得分:0)

由于我们在调用colorScheme servlet之前在另一个servlet中处理我们的HTML / JS,我所做的是在此阶段检查所请求的外观是否是动态的(来自servlet)。如果colorScheme是动态的,我用CSS servlet的地址写出link标签,否则我写出CDN的地址。