V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tangzx
V2EX  ›  程序员

你还不注意 DOCTYPE?七牛主页这样做不掉面子?

  •  
  •   tangzx ·
    layerssss · 2014-07-05 18:54:09 +08:00 · 5309 次点击
    这是一个创建于 3799 天前的主题,其中的信息可能已经有所发展或是发生改变。
    > 离 XHTML 时代已经五年多了,虽然很多站点还停留在 XHTML 时代,更有很多站点还没迈入 XHTML 时代。

    今天顺手打开七牛页面源码,一段招聘以注释的形式出现在文件的第一行,印象中好像还有过其他公司这样干。我记得很清楚当时最早接触 XHTML 时,教程里说得很清楚,DOCTYPE 是供浏览器识别文件类型的指示符,应该放在任何文件的第一行,而且对于 IE6,第一行缺失 DOCTYPE 会有实际影响——触发 quirk 模式,所以有没有正确的 DOCTYPE 是当时区分这个网站是 XHTML 还是逼格很 low 的网站的最简单办法,记得百度搜索的首页在很长一段时间内还是没有 DOCTYPE 的。所以至少作为一名老前端,我一直觉得 DOCTYPE 前不放任何内容(不只是注释,空格回车都不要有)、DOCTYPE 这个词大写(顺手黑一下 http://www.baidu.com/ )都是应该有的好习惯

    七牛的招聘内容都这样把注释放在前面真的好吗(还是因为这段招聘是后端自己写进代码的噗)?
    23 条回复    2016-02-13 00:49:23 +08:00
    jsonline
        1
    jsonline  
       2014-07-05 18:56:35 +08:00
    只要看见有公司在前端招聘里写什么「XHTML」,我就知道这种公司的前端很垃圾。
    jsonline
        2
    jsonline  
       2014-07-05 19:00:05 +08:00   ❤️ 1
    你可以认为七牛对老式浏览器采取的「不兼容」的态度。

    我最喜欢这种态度了~
    9yu
        3
    9yu  
       2014-07-05 19:00:58 +08:00

    dnspod 的注释是放到 doctype 后面的,不过我感觉无所谓。
    dorentus
        4
    dorentus  
       2014-07-05 19:10:13 +08:00
    我猜你是在 w3schools 上面了解到 DTD 必须是第一行,并且建议大写的?

    首先,大小写无所谓。
    其次,如果我没有记错的话,虽说有些老掉牙的浏览器可能不支持,但按现行标准,DTD 前面可以有的东西至少有:1)空格 2) 注释。
    dorentus
        5
    dorentus  
       2014-07-05 19:14:43 +08:00
    关于 w3schools,参见: http://www.v2ex.com/t/29142
    (不过近些年据说已经好了不少了……)
    kennedy32
        6
    kennedy32  
       2014-07-05 19:33:07 +08:00 via Android
    只是觉得没必要大写,也没必要理会IE6
    xbonline
        7
    xbonline  
       2014-07-05 19:39:00 +08:00
    其实我想说,很多事别太较真一定要怎样怎样,能用没问题不就行了?

    建议你拿IE6-7打开七牛试试先
    zyAndroid
        8
    zyAndroid  
       2014-07-05 19:48:41 +08:00
    我们网站甚至都故意不去兼容 IE7 了
    Actrace
        9
    Actrace  
       2014-07-05 20:11:28 +08:00
    @9yu 这是什么动物吗?
    blacktulip
        10
    blacktulip  
       2014-07-05 20:22:23 +08:00
    这年头还去兼容 IE6 的网站才应该被批判,请楼主与时俱进。
    faceair
        11
    faceair  
       2014-07-05 20:52:29 +08:00
    @Actrace 个人觉得这是皮卡丘
    dorentus
        12
    dorentus  
       2014-07-05 21:00:52 +08:00
    @Actrace
    @faceair
    dnspod 的那个,我这边看到的是这样:

    lu18887
        13
    lu18887  
       2014-07-05 21:07:03 +08:00 via iPhone
    @dorentus 这个更好看!
    ninqq
        14
    ninqq  
       2014-07-05 21:07:59 +08:00
    为什么要考虑 ie6之类的浏览器?
    otakustay
        15
    otakustay  
       2014-07-05 22:03:28 +08:00   ❤️ 1
    http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#syntax

    老牌是好,但不要变得陈腐,一个云存储系统的站点真的没必要去兼容IE6,想想用户群是啥
    eccstartup
        16
    eccstartup  
       2014-07-06 11:08:04 +08:00
    @dorentus 不是一个网址
    ichou
        17
    ichou  
       2014-07-06 14:44:39 +08:00
    我感觉露珠想说的不是兼容 IE6 的问题吧
    那只是举个栗子而已 对伐,露珠?
    我到时是很好奇放在 DOCTYPE 前面,还能不能通过 w3c 的测试

    结果是没通过,但是没有提示注释放在 DOCTYPE 前是错误的 ╮(╯▽╰)╭
    nine
        18
    nine  
       2014-07-06 20:00:32 +08:00
    view-source:https://ruby-china.org/ 中枪
    tangzx
        19
    tangzx  
    OP
       2014-07-07 01:39:37 +08:00 via iPhone
    @ichou 我说的不是兼容,兼容和标准不是一件事儿;doctype 全大写我后来去查了一下是没有这一说,很多网站是全小写,但是我还是认为首字母大写不专业。
    gonglexin
        20
    gonglexin  
       2014-07-07 09:33:55 +08:00
    SunLn
        22
    SunLn  
       2014-07-19 10:32:59 +08:00
    七牛主页貌似IE8以下的都不支持。所以这方面可以忽略它的兼容性。
    josephshing
        23
    josephshing  
       2016-02-13 00:49:23 +08:00
    查了下最新的 HTML5 官方文档

    https://www.w3.org/TR/html5/syntax.html#writing

    给大家参考 =)

    HTML 文档开头可以是

    BOM [可选] Optionally, a single "BOM" (U+FEFF) character.

    若干注释 /空格 Any number of comments and space characters.

    DOCTYPE 不区分大小写 A DOCTYPE

    七牛这样写是符合 H5 标准的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3144 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:40 · PVG 21:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.