博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[翻译] IE7,IE8 BUG导致CSS下载二次。
阅读量:5953 次
发布时间:2019-06-19

本文共 1977 字,大约阅读时间需要 6 分钟。

为了压缩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  ,如需转载请自行联系原作者

你可能感兴趣的文章
中国五大顶级域名9月第一周新增3.2万 美国净减7.6万个
查看>>
11月苹果移动设备份额TOP10:iPhone 6上榜居六
查看>>
6月第4周全球域名注册商(国际域名)新增注册量TOP22
查看>>
2016年1月中国域名商解析量14强:排名变动大
查看>>
IntelliJ IDEA 14 license key gen
查看>>
ogg启动报错libnnz11.so: cannot open shared object file
查看>>
如何实现“持续集成”?闲鱼把研发效率翻了个翻
查看>>
IT人的“钱”景以及收入的两道坎
查看>>
PHP 5.4.8 添加系统服务命令
查看>>
jdk与jre的区别
查看>>
什么是https,和ssl什么关系,为什么用https
查看>>
27. 访问者模式
查看>>
好程序员web分享图片标签、绝对路径和相对路径
查看>>
Postman 如何处理上一个接口返回值作为下一个接口入参?
查看>>
Linux帮助命令
查看>>
第四章 Linux命令
查看>>
Unicode Tips
查看>>
IOS LocationManager定位国内偏移,火星坐标(GCJ-02)解决方法
查看>>
检查出某个文件的大小
查看>>
android ImageSwitcher案例
查看>>