我遇到个很诡异的问题,其实在半个月前就找到问题所在了,但是由于交由TS组去处理,所以,一直也没有记下来,今天做下记录吧.
我们先来写个html页面,来方便测试:
Html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link id="MainCss" type="text/css" rel="stylesheet" href="" />
<link type="text/css" rel="stylesheet" href="" />
</head>
<body>
aaaaaaaaa为了方便大家的测试
<a href="#">ccccccccccccc</a>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link id="MainCss" type="text/css" rel="stylesheet" href="" />
<link type="text/css" rel="stylesheet" href="" />
</head>
<body>
aaaaaaaaa为了方便大家的测试
<a href="#">ccccccccccccc</a>
</body>
</html>
写好后保存成UTF-8编码的.然后用Firefox打开.如果正常的话,鼠标悬停在cccccc上的时候应该是桔黄色.但是实际上是咖啡色.如果你用IE打开此页面,则显示的是桔黄色.
然后你可以将下面的那个css文件下载下来,保存在本地,然后地址指向它,再用Firefox打开...怎么样,也是桔黄色了吧.
好我们再玩个诡异的.我们将下面的那个css的地址恢复成我原先的地址.然后将最上面的那行验证删除掉,刷新...怎么样,还是桔黄色吧.
好了,看过了效果,总结下问题:为何firefox无法在有验证XHTML的情况下引用下面的那个CSS,如果说CSS有问题,那为何将此CSS下载到本地指向它,却又可以使用了呢?此诡异的问题是我发布项目后无意中发现的.所有IE下都没有问题,FF2.x,FF3.x都试过了,都有问题.用 firebug看后发现CSS其实也已经下载下来,但是就是不起作用.
如何?挺诡异吧.当然,我现在也找到了问题的所在:在网站的代理服务器上.
加了标准验证的页面,apatech代理将其判定为了text/html,而不是text/css.所以,即是下载下来了,也还是不能使用.而FF又是比较严格执行的,所以,则无法执行了.