分类目录归档:前端技术

前端技术

DEDECMS引入外部模版文件出现””字符导致异常空行问题

问题描述

index.htm模版中采用{dede:include filename=’head.htm’/}插入其他模板文件,就出现空行,审查元素发现有两个双引号字符,而查看页面源代码没有任何异常,如图。另外,将head.htm中的代码直接复制到index.htm中就没有问题。

bom_bug

 

问题原因

百思不得其解,突然记起曾手贱用带BOM的格式保存了head.htm文件。(原本是GBK的文件,转了下码)

解决办法

用nodepad之类的编辑器转为无BOM格式保存即可。

bom_save

 

科普时间

UTF-8 编码的文件可以分为no BOM 和 BOM两种格式。

何谓BOM?

字节顺序标记英语:byte-order mark,BOM)是位于码点U+FEFF统一码字符的名称。当以UTF-16UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8UTF-16UTF-32编码的记号。

因为 Web 服务器软件可能不认识 BOM,所以就把 BOM 的两个特殊字节当做字符发送给浏览器了。

另外微软的记事本,Word 等只能正确打开含BOM的UTF8文件。

Chrome Developer Tools的一些小玩意儿

网络抓包:访问这个地址,然后打开任意网页就能看到效果了:chrome://net-internals/#requests

顺带一提,chrome://net-internals/#dns可以清空DNS,这玩意曾经整得我吐血啊。由于众所周知的问题,天朝的DNS经常被GFW乱插而抽风,很多正常的网页都打不开,而且TMD还自动缓存30分钟,导致我只能翻墙或重启Chrome。不过Chrome升级得满快的,现在已经很少遇到这个问题了。

“Network”最下面一栏有个黑色的圆点按钮:“Preserve Log upon Navigation”。保持的作用是让控制台在刷新页面后仍然保留已输出的控制台信息。这尼玛太有用了,查看refresh前提交的信息。

 

官方文档:https://developers.google.com/chrome-developer-tools/

http://ued.taobao.com/blog/2012/06/debug-with-chrome-dev-tool/

http://developer.51cto.com/art/201111/304651.htm

第八届D2资料

地址:http://www.d2forum.org/d2/8/index.php

D2 前端技术论坛(Designer & Developer Front End Technology Forum),简称 D2 ,为国内前端开发者和网站设计师提供一个交流的机会,一起分享技术的乐趣,探讨行业的发展,以技术会友。它是中国所有前端开发者的节日,包括前端设计师,前端开发工程师,和所有对前端技术感兴趣的人。D2将努力营造一种轻松自由的交流氛围,以纯粹的技术交流为根本,共同推动国内前端技术的发展,促进国内行业标准跟国际的融合,发掘前端技术可以创造的更大价值。

D2 是由 淘宝网 发起,每届由D2前端技术论坛组委会(下简称D2组委会)① 组织。

D2 前端技术论坛的基本宗旨:

  • Designer+Developer:让左右大脑相互碰撞,激起更多的火花。
  • 基于商业实践:不脱离日常工作,帮助商业取得更好的成功。
  • 开放:不会把任何想法、任何作品据为私有,一切都更开放。

D2 前端技术论坛的讨论范围:

  • 互联网前端技术与产品:前端技术的应用,开发中的实际案例。
  • 前端开发的行业发展:展望整个行业的发展方向,引领前端开发最新方向。

D2 前端技术论坛的最终目标:

  • 创造业内交流平台
  • 引导、规范行业发展
  • 影响前端技术发展