[翻译] IE7,IE8 BUG导致CSS下载二次。

简介:

为了压缩html代码,我们常常会去掉"HTTP或者HTTPS",即去掉url中的http(s)协议头,以节省空间,但这样使用后发现IE7,IE8会出现对同1个CSS加载2次的BUG。

 

测试:
   正常的CSS加载代码写法:
  <link rel="stylesheet" href="http://www.test.com/main.css" type="text/css" />  
  这样写大家都知道加载是不会有任何问题的,所以也不贴监控图解释了
 
 在经过html压缩后,代码变成如下:  
  <link rel="stylesheet" href="//www.test.com/main.css" type="text/css" />
  压缩后,心里暗爽,html代码又小了,运行程序也没发现啥问题。
 
 在一次使用httpwatch监控的时候(IE8),竟然发现了严重的BUG,测试代码如下(加上了js和image为了方便测试):

测试:
     正常的CSS加载代码写法:  

     <link rel="stylesheet" href="http://www.test.com/main.css" type="text/css" />  

     这样写大家都知道加载是不会有任何问题的,所以也不贴监控图解释了。

 

    在经过html压缩后(去掉http协议头),代码变成如下:   

    <link rel="stylesheet" href="//www.test.com/main.css" type="text/css" />  

   压缩后,心里暗爽,html代码又小了, 可是用httpwatch监控一下IE8就发现问题了,测试代码如下(加上了js和image为了方便进行比较):

          <head>

     < title >http test</ title >
     < meta  http-equiv="Content-Type" content="text/html; charset=utf-8" />
     < link  rel="stylesheet" href="//www.test.com/css/main.css" type="text/css" />
     < script  type="text/javascript" src="//www.test.com/css/1.js"></ script >
</ head >
< body >
     < h1 >test</ h1 >
     < img  src="//www.test.com/css/d1.gif" />
</ body >  

   httpwatch监控图:

   2010052808541789.jpg

   oh shit,CSS竟然下载了二次,而且第二次还不是用的缓存,仍然响应200状态。

 

  再把连接css代码的href加上http协议头试试:

< head >
     < title >http test</ title >
     < meta  http-equiv="Content-Type" content="text/html; charset=utf-8" />
     < link  rel="stylesheet" href="http://www.test.com/css/main.css" type="text/css" />
     < script  type="text/javascript" src="//www.test.com/css/1.js"></ script >
</ head >
< body >
     < h1 >test</ h1 >
     < img  src="//www.test.com/css/d1.gif" />
</ body >

  监控图:

  2010052808551312.jpg

  一切正常了。

 

总结:

     上面问题在IE8,IE7中都会出现,IE6、firefox、chrome都是正常的,而且只会对css有这个问题,js、image都正常,产生根本原因不详。

 

如果本机只有1个浏览器,不好进行测试,可以使用www.webpagetest.org在线进行测试,www.webpagetest.org同时支持IE7和IE8进行测试。

 

原文地址:http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/

 

PS: 虽然标题写的是翻译,但看了原文的就知道,其实根本不是翻译,是看了原文后本人根据原文进行了一翻测试,然后把测试结果写出来。

      因为本人英语水平比较差,所以没有直接翻译。












本文转自BearRui(AK-47)博客园博客,原文链接:  http://www.cnblogs.com/BearsTaR/archive/2010/05/28/IE7_IE8_CSS_double_download.html  ,如需转载请自行联系原作者



相关文章
|
3月前
|
前端开发 JavaScript UED
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
17 0
|
4月前
|
前端开发 开发者
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?
|
7月前
|
前端开发
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
82 0
|
8月前
|
Web App开发 前端开发
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
|
前端开发 UED
不得不收藏的——IE中CSS-filter滤镜小知识大全
前段时间在做一个专题的时候用到了opacity不透明度属性,因为设计图上是半透明背景,白色文字
422 0
不得不收藏的——IE中CSS-filter滤镜小知识大全
|
前端开发
关于ie中实现弹性盒模型-我的css
css3中的弹性盒模型大家都不陌生,但是能否在ie6中实现呢?第三方库中涉及到的页少之又少,也有一部分css框架中支持各种布局,下面给出我用的盒模型样式(为了以后copy方便而已): /*********************************** *兼容盒模型 by awen *...
1125 0
|
前端开发
CSS实现文字竖排显示(兼容IE6/IE7)
平时我们常使文字横排显示,那么如何用CSS实现文字竖排显示呢?
12450 0
|
前端开发
CSS-自定义高度的元素背景图如何自适应以及after伪类在ie下的处理
我都好久没更新了! 遇到一个效果,之前没有考虑清楚,设置了固定高度,到了后边,产品要加长,我就觉得设计得从新弄张长点的背景图!这不多余么? 其实分析原图还是可以再切分,再细化到不用改设计图,让我们前端页面各种适应,做到重复利用。
1138 0

热门文章

最新文章

相关产品

  • 云迁移中心