严格模式下 W3C Strict 验证的几个注意事项

首先说下,这篇文章是从 jsmix 文章。

对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 标签开始和结束的标志。这时需要使用该字符的实体名称或者实体编号。例如,对于小于符号 < 来说,他的实体名称为 &lt;,实体编码为 &#60;如果需要了解更多关于 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";
        }
}
posted @   hevily  Views(564)  Comments(0Edit  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示