Chrome浏览器加载CSS文件TTFB waiting超时的奇葩问题
今天本来调试 requirejs 加载js异常的问题,试了下Chrome浏览器,结果意外发现这个 CSS 加载异常的BUG,非常非常奇怪。
本地测试环境是 wi7x64 安装的 XAMPP 3.2.1 服务器套件没什么特殊配置。
目前就发现只对下面这段 css 代码有异常 seta.css:
@charset "utf-8";
html { font-size: 125%; }
html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dt,dd { padding: 0; margin: 0; }
body,h1,h2,h3,h4,h5,h6 { font-weight: normal; font-size: .6rem; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset,img { border: 0; }
address,caption,cite,code,dfn,em,strong,th,var { font-weight: normal; font-style: normal; }
ul,ol { list-style: none; }
abbr,acronym { border: 0; }
a,input,textarea { outline: none; -moz-outline-style: none; }
a,button,label { cursor: pointer; }
input,select { vertical-align: middle; }
a { text-decoration: none; }
hr,article,aside,details,figcaption,figure,footer,header,menu,nav,section { display: block; margin: 0; padding: 0; }
blockquote,q { quotes: none; }
blockquote:before,blockquote:after,q:before,q:after { content: ''; }
ins { background-color: #FF9; color: #000; text-decoration: none; }
mark { background-color: #FF9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title],dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; border: 0; border-top: 1px solid #CCC; margin: 1em 0; }
只是一个简单的 CSS reset 代码。(注意没有任何空行的哦)
目前测试只有 Chrome 浏览器出现该情况,测试了两个版本 chrome 46,47.0.2526.106(目前最新稳定版本)
以下测试都是在禁止缓存后N次尝试的结果。
如图中第二行 seta.css 的加载情况,1.4kb本地加载居然用了5秒钟,卡的要死了
这是加载耗时详情,TTFB 等待了 508.83ms , 下载用了5秒钟,真是莫名其妙。
下面这个是用另一个浏览器 360极速Chrome(内核版本 45.0.2454.101) 加载就是正常的
总共只用了 13ms
还有个 Firefox(43.0.3) 的
也是正常的,而且速度也比Chrome快多了
感觉问题可能是出在 css 代码内容上了,于是尝试几种方法修改了下,
只调换代码顺序没有用,
但修改任意参数值后加载就正常了,
或者中间或末尾加个空行也行
感觉应该并不是某个样式导致的
所以最好也最简单的方法就是在所有 css 代码末尾都空一行吧
这样 Chrome 加载就正常了,对这种BUG实在无语
Chrome浏览器加载CSS文件TTFB waiting超时的奇葩问题的更多相关文章
- webpack模块加载css文件及图片地址
webpack支持css文件加载并打包,只需安装相应加载器并在配置文件中配置 . 加载的css文件内容会与该模块里的js内容混合封装,这样做的好处是一个js文件包含了所有的css与js内容,有效减少了 ...
- webpack加载css文件及其配置
webpack加载css文件及其配置 当我们写了几个css文件之后如果想要引用到html中去的话我们最开始的方式就是通过link标签将css文件导入进去,但是如果我们的css文件有很多的话,一个个的导 ...
- Nginx 做代理服务器时浏览器加载大文件失败 ERR_CONTENT_LENGTH_MISMATCH 的解决方案
此文章仅作为本人的笔记,文章转载自 http://blog.csdn.net/defonds/article/details/46042809 Nginx 做反向代理,后端是 tomcat,chro ...
- js动态加载css文件和js文件的方法
今天研究了下js动态加载js文件和css文件的方法. 网上发现一个动态加载的方法.摘抄下来,方便自己以后使用 [code lang="html"] <html xmlns=& ...
- AngularCSS--关于angularjs动态加载css文件的方法(仅供参考)
AngularCSS CSS on-demand for AngularJS Optimize the presentation layer of your single-page apps by d ...
- spring MVC 项目 WEB-INF下的jsp不能加载css文件
一.项目目录 二.解决方法(已解决) 1. jsp文件加入 <link href="<c:url value="/css/main.css" />&qu ...
- 浏览器加载js文件顺序
在默认情况下,下载和执行js都会阻塞页面的渲染,当然现在浏览器支持并行下载,但仍然会阻塞图片等的下载和渲染,所以通常建议把js文件放body底.对于执行顺序,不管是外部js还是内部,只要 遇到< ...
- jQuery动态加载css文件实现方法
$("<link>").attr({ rel: "stylesheet",type: "text/css",href: &quo ...
- Google浏览器如何加载本地文件
Chrome浏览器加载本地文件 一般来说,为了安全起见,浏览器是不能通过load方法来加载本地文件的,load方法只能加载远程服务器上的文件. 在浏览器默认的情况下,试图加载一个本地文件,会出现交叉域 ...
随机推荐
- iscroll4实现轮播图效果
相信很多人和我一样,在使用iscroll的是时候只知道可以手动滑动,不知道iscroll的轮播怎么实现一下就是我做的一个轮播效果,亲测有效: 1.html,当然可以动态添加下面的小圆点 <div ...
- AMDBarUtility Update Ditection Page
Current version is : #################### #060901# #################### DO NOT REPLY!!!
- 浅谈我对几个Web前端开发框架的比较
强调一下,这篇日志主要还是针对想学前端开发的新朋友写的,不是说我有什么独特见解,而是比较客观的状态,就各种框架的异同和应用场合,需要注意的地方做简单描述,不做具体深入分析,有的地方比较抽象,对于抽象之 ...
- SQL Server中如何备份存储过程(SP)和函数(Fun)
考虑到安全因素,我们经常需要对数据库的存储过程(SP)和函数(Fun)进行备份 下面提供了一种简单的方式, 存储过程(SP)SQL代码如下: select p.name as SpName,m.def ...
- every、some、filter、map、forEach 方法的区别总结
API功能描述: [every]:Boolean 遍历数组并执行回调,如果每个数组元素都能通过回调函数的测试则返回true,否则返回false.一旦返回false,将立即终止循环. [some]:Bo ...
- 【值得收藏】符号计算软件Maple的学习资料汇编【可免费下载】
Maple学习教程 Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple在全球拥有数百万用户,被广泛地应用于科学.工程和教育等领域,用户 ...
- 使用typeof方法反射属性和方法
Type type = typeof(System.Int32);//获得int类型的Type对象 foreach (MethodInfo method in type.GetMethods())// ...
- Binder机制,从Java到C (2. IPC in System Service :AMS)
1.建立Activity和Service的IPC之前 在上一篇 Binder机制,从Java到C (1. IPC in Application Remote Service) 里面有说到Activi ...
- [原]iOS中 Web 页面与 Native Code 的一种通信方式
在 iOS 开发中,Web 页面与 Native Code 通信可以分为两个方面: 1.Native Code 调用 Web 页面的方法:主要是调用页面中的 Javascript 函数. 2.Web ...
- SOCKET网络编程5
SOCKET网络编程快速上手(二)——细节问题(5)(完结篇) 6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢 ...