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方法只能加载远程服务器上的文件. 在浏览器默认的情况下,试图加载一个本地文件,会出现交叉域 ...
随机推荐
- 通过如何通过js实现复制粘贴功能
在ie中window.clipboardData(剪切板对象)是可以被获取,所以利用这个方法我们可以实现在IE当中复制粘贴的功能,demo如下! <html> <head> & ...
- Javascript多线程引擎(七)
Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
- Win 内存映射和堆栈
内存映射和堆栈 内存映射文件 内存映射文件可以用于3个不同的目的: 系统使用内存映射文件,以便加载和执行.exe和DLL文件.这可以大大节省页文件空间和应用程序启动运行所需的时间. 可以使用内存映射文 ...
- c# 发送Email的2中方式
先来第一种 // 版权所有 ZhuoYue Co.,Ltd 卓越一通秘密信息 // 文件名称:MyEmailByCDO.cs // 作 者:huangzh // 创建日期:2015-08-20 16: ...
- ASP.NET MVC 使用MSBuild生成的几个注意事项
做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发布,Admin Area会丢失. 研究了下NopCommerc ...
- IL代码完结篇
读懂IL代码就这么简单(三)完结篇 一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在 ...
- [原]逆向iOS SDK -- _UIImageAtPath 的实现(SDK 6.1)
汇编代码: ; 状态:R0 = imageFileName, R1 = mainBundle, R2 = isRetina PUSH {R4-R7,LR} ; R0 = imageFileNam ...
- 浅谈JavaScript中的call和apply
语法 fun.apply(thisArg, [argsArray]) fun.call(thisArg, arg1, arg2, ...) apply 接收两个参数,第一个参数指定了函数体内this对 ...
- 使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享
使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享 使用Jquery+EasyUI 进行框架项目开发案例讲解之一 员工管理源码分享 在开始讲解之前,我们先来看一下什 ...