IT技术博客大学习 共学习 共进步
首页 / 颜海镜
IT 2014-12-28 23:57:50 / 累计浏览 2,620

Web编码总结

作者从一次AJAX请求中变量编码不一致的“踩坑”经历出发,引出了Web开发中一个常见却容易被忽视的核心问题:编码。文章并未停留于问题本身,而是系统梳理了从编码简史到实际应用的完整脉络。 它简要回顾了ASCII、GB系列到Unicode/UTF-8的演进,并点出国内大厂网站(如百度、淘宝、QQ.com)在文件编码选择上的历史现状。重点剖析了网页显示中,HTML编码由HTTP头、meta标签和浏览器默认设置共同决定的权重关系,以及CSS文件通过`@charset`指令声明编码的机制。文中穿插了关于操作系统换行符差异等实用小贴士,使技术知识更接地气。 这篇总结的价值在于,它将编码这个看似底层、枯燥的话题,与日常前端开发的具体环节(HTML、CSS、JS文件)紧密结合,帮助开发者建立清晰的排查思路,理解乱码问题的根源往往在于编码声明的不一致或缺失。对于希望夯实基础、避免低级错误的开发者来说,这是一份很好的实践指南。

IT 2014-12-28 23:41:04 / 累计浏览 17,000

HTML5 离线缓存-manifest简介

这篇讲的是如何用HTML5的Cache Manifest让网页在离线状态下也能访问。作者在将Painter项目中的离线缓存方案复用到其他项目时,发现有些生疏,于是系统梳理了这个技术,为自己也为大家做个记录。 文章从移动时代网络不稳定的痛点切入,解释了manifest文件的核心作用:它定义需要缓存的资源列表,让浏览器能将这些文件保存到本地。即使没网,也能继续浏览网站。这不仅能带来离线体验和更快的速度,还能减轻服务器压力。 文中详细拆解了manifest文件的三段式结构:必需的`CACHE`段明确要缓存哪些文件;可选的`NETWORK`段声明哪些资源必须联网获取;`FALLBACK`段则定义资源加载失败时的备用页面。文章也指出了一些关键注意事项,比如整个站点的同源限制、不同浏览器对缓存容量的不同上限,以及更新缓存的三种方式(更新manifest文件、JavaScript调用或清除浏览器缓存)。 对于需要缓存大量文件的项目,手动编写manifest文件容易出错,文章最后介绍了`grunt-manifest`这类自动化工具,可以通过构建任务自动生成manifest文件,解放生产力。

IT 2014-12-06 20:40:13 / 累计浏览 2,520

JavaScript原型之路

这篇文章探讨了JavaScript中两种对象创建方式的差异与选择:传统的构造函数方法与更纯粹的原型(OLOO)方法。 作者从Frontend Masters的教程和一篇经典博文出发,对比了这两种路径。标准方法通过构造函数和原型链建立继承,是目前大多数教程和框架(如Angular)所要求的。而纯原型方法则利用`Object.create()`直接克隆对象,语法上更接近IO这类原生原型语言,显得更直接和动态。 然而,文章指出一个关键的现实考量:性能。测试显示,纯原型的实现在某些操作上可能比构造函数方式慢数十倍,这是JavaScript引擎优化导致的结果。此外,ES6引入的`class`语法本质上仍是构造函数的语法糖,并未改变原型的底层机制。 作者的结论反映了实践中的权衡:个人偏好纯原型的表现力和趣味性,但在追求性能的生产代码中,会继续采用构造函数方法,并期待未来能更广泛地使用ES6的类语法。

IT 2014-12-06 20:39:06 / 累计浏览 2,840

CSS 设计理念

这篇讲的是CSS2.1规范背后的设计理念,梳理了其作为CSS2和CSS1后序版本的核心设计目标。文章开篇就点明了这些理念:向前和向后兼容,确保新旧用户代理都能优雅降级;作为结构化文档(如HTML)的补充,让样式易于修改而不影响内容;保持供应商、平台和设备无关,让文档适应各种环境;强调可维护性,通过外部样式表轻松管理全站外观。 此外,它还提到了CSS的简洁性、对网络性能的优化(比图片等资源体积小得多)、通过层叠机制提供的灵活性、丰富的渲染效果,以及为动态语言绑定和可访问性(如允许用户覆盖样式、支持盲文设备)所做的考量。这些理念奠定了现代CSS的基础,其中关于兼容性、结构分离和可访问性的思考,至今仍深刻影响着前端开发的实践。