具有相对URL的CSS图像有时相对于IE中的页面URL

时间:2013-02-06 08:33:58

标签: css image internet-explorer internet-explorer-8 relative-url

我似乎发现IE有时会尝试使用相对URL加载相对于页面网址而不是CSS文件网址的CSS图像。

示例...有人加载此网址:

https://www.main-events.com/event/234/my-awesome-show/onlineentry/step-four/do-something

有一个CSS文件:

<link rel="stylesheet" type="text/css" href="/content/core/MainEvents.min.css" />

内置它:

.fade-red
{
    background: url("../../img/fade-red.png") repeat-x scroll 0 100% #9D0032;
}

然后我得到一个如下所示的异常:

HttpException: The controller for path '/event/234/my-awesome-show/onlineentry/img/fade-red.png' was not found or does not implement IController.

看看发生了什么?

而不是像../../img/fade-red.png这样相对于CSS网址/content/core/MainEvents.min.css加载/img/fade-red.png网址...它错误地尝试相对于网页网址/event/234/my-awesome-show/onlineentry/step-four/do-something加载它这个/event/234/my-awesome-show/onlineentry/img/fade-red.png

我检查了UserAgent字符串,它似乎总是IE8。这是我见过的一些:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.4; .NET CLR 1.1.4322; .NET CLR 2.0.50727; WinNT-PAI 22.06.2009; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; HPNTDF; .NET4.0C; BRI/1; BRI/2)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET4.0C)

我想我的问题是,有没有人遇到这个?它是IE8的已知问题吗?将我的CSS图像网址更改为绝对唯一的修复方法吗?

0 个答案:

没有答案