[翻译] 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监控图:

   

   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 >

  监控图:

  

  一切正常了。

 

总结:

     上面问题在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  ,如需转载请自行联系原作者



相关文章
|
Web App开发 前端开发 开发者
|
3月前
|
前端开发 开发者
【前端大揭秘】CSS盒子模型的爱恨情仇:一场关于标准与IE模型的精彩对决!
【8月更文挑战第26天】本文深入探讨CSS中的两大盒子模型——标准盒模型与IE盒模型。通过理论解析与实例代码,清晰展示了两种模型下元素尺寸的构成方式及其应用场景。标准盒模型适合精确控制内容区尺寸,而IE盒模型在处理固定宽度元素时更为直观。掌握这些知识将帮助前端开发者在实际项目中做出更优的设计决策,提升网页布局的质量与美观性。
32 1
|
3月前
|
存储 NoSQL 文件存储
【Azure 环境】存储在Azure上的文件,使用IE/Edge时自动打开的问题,如何变为下载而非自动打开
【Azure 环境】存储在Azure上的文件,使用IE/Edge时自动打开的问题,如何变为下载而非自动打开
|
4月前
|
前端开发 C++
CSS【详解】 标准盒模型 VS IE 盒模型
CSS【详解】 标准盒模型 VS IE 盒模型
45 0
|
4月前
|
前端开发
【UI】 elementui的dialog弹窗打开时CSS的BUG | 滚动条消失bug
【UI】 elementui的dialog弹窗打开时CSS的BUG | 滚动条消失bug
144 0
|
5月前
|
移动开发 JavaScript 前端开发
rem的适配方案,css文件和js文件的引入方式,特色小边框的制作,DS-Digital.ttf数字展示屏的使用方法:,自适应图片 background-size,jQuery爆bug,a和盒子居中,
rem的适配方案,css文件和js文件的引入方式,特色小边框的制作,DS-Digital.ttf数字展示屏的使用方法:,自适应图片 background-size,jQuery爆bug,a和盒子居中,
|
Web App开发 XML 编解码
IE浏览器下载文件中文文件名乱码问题解决
IE浏览器下载文件中文文件名乱码问题解决
133 0
|
6月前
|
Web App开发 前端开发
CSS Hack是什么?ie6,7,8的hack分别是什么
CSS Hack是什么?ie6,7,8的hack分别是什么
276 0
|
前端开发 JavaScript UED
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
71 0
|
前端开发 开发者
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?