严格模式下 W3C Strict 验证的几个注意事项
对jsmix的标题现在搞的还是云里雾里的。”不会做蛋炒饭的小提琴手不是个好程序员“,这个侬晓得的吗?我是真不知道;
好了正文开始了.
现在有很多网站已经不太注重 W3C 的验证了,不过这终究不是一件太好的事情,他们有的为了省事不验证,有的在开发过程中一些问题没注意,导致后来要想再修改来通过验证需要付出代价太大而放 弃,有的为了节省代码减少流量加快加载速度而放弃繁文缛节。但不管怎么说,至少通过严格遵守一个行业通用的标准来规范自己的代码,也是一件值得推崇的事 情。本站声明了 W3C Strict 型文档的规则,并且所有页面都经过零错误、零警告的验证。下面是一些可能较少被人注意的验证中容易导致错误的问题,如果想要通过验证,这些问题应该值得看 一看。
1. 正确地嵌入 Flash
很多人依然使用 embed 标签来嵌入 Flash,甚至包括在优酷提供的视频分享代码中,这个标签已经被废置,正确地嵌入 Flash,需要像下面一样使用 object 标签,并配合 param 标签为 object 设置参数。
< object type="application/x-shockwave-flash" width="480" height="400"> < param name="movie" value="flash 地址"></ param > </ object > |
2. 文档内的 JavaScript
有的时候可能不可避免的要通过后台来输出一些 JavaScript 代码,这样的代码只能直接书写在 x(html) 文档中,这并没有问题,但如果这些 JavaScript 代码中包含了有 HTML 字符的代码,那么除了使用正确的 script 标签包裹代码之外,还需要添加 character data,即 CDATA 标记,这个标记下的所有实体字符都会被 HTML 当做字符数据看待。
//正确的写法 < script type="text/javascript"> //<![CDATA[ var div = '< div ></ div >'; //]]> </ script > //错误的写法 < script type="text/javascript"> var div = '< div ></ div >'; </ script > |
3. 贴代码的问题
开发人员的博客,一般都会有一些实例代码,但是在这些代码中,往往包含了一些对于 HTML 来说有特殊含义的字符,比如 < 和 > 分别是一个 HTML 标签开始和结束的标志。这时需要使用该字符的实体名称或者实体编号。例如,对于小于符号 < 来说,他的实体名称为 <,实体编码为 <。如果需要了解更多关于 HTML 字符实体(HTML entities)的内容,请移步到W3school。
4. target = "_blank"
不用再在 a 标签上使用这个属性来让用户在新窗口打开页面,让用户自由地选择把,他们可以通过鼠标中间点击,或者按住 ctrl 键点击链接来轻松地达到同样的目的。如果实在需要强制用户在新窗口打开链接,那么给 a 标签加上 rel="external" 属性,然后使用下面的 JavaScript 代码进行处理:
var anchors = document.getElementsByTagName("a"); for ( var i = 0 ; i < anchors.length ; i++ ) { if ( anchor[i].getAttribute("rel") === "external"){ anchor[i].target = "_blank"; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述