zoukankan      html  css  js  c++  java
  • 严格模式下 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";
                }
        }
    
  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/NetSos/p/1994093.html
Copyright © 2011-2022 走看看