【问题标题】:Read doctype with JavaScript用 JavaScript 读取文档类型
【发布时间】:2013-12-18 22:55:27
【问题描述】:

doctype 是 DOM 的一部分吗?如果是,是否有一种很好的跨浏览器读取方式?我不想做任何花哨的事情。我只想从一些 JavaScript 代码中访问 doctype 信息。只读访问没问题。

【问题讨论】:

    标签: javascript doctype


    【解决方案1】:

    document.doctype 似乎是您要查找的(只读)属性。

    【讨论】:

    • 具体来说,可选的DocumentType 节点是DocumentchildNode,就像根documentElement 和根外的任何Comment 节点一样。
    • 谢谢你,亚历克斯。 bobince,你留下的评论也很丰富。
    • 是的,IE 将文档类型错误地解析为注释。您仍然可以通过childNodes 列表找到它,并将声明的内容作为评论的data 阅读,但您无法确定它实际上不是评论,并且 IE 丢弃了前导和尾随两个字符,假设它们都是--。啊,IE,祝福它...
    • 是否有可能以某种方式将document.doctype 作为字符串?我的意思不是这个:"[object DocumentType]"
    • +1 表示 Mathias 的问题。在 FF、IE、Chrome 和 Webkit 中获取 document.doctype 作为整个 doctype 字符串是否可行?或者这应该是一个单独的问题?
    【解决方案2】:

    如果您正在检查 DOCTYPE 以确定您是否处于 quirksmode,这就是已知的跨浏览器:

    document.compatMode; // returns either "BackCompat" or "CSS1Compat"
    

    所以你可以这样做:

    var quirksmode = document.compatMode == "BackCompat";
    

    【讨论】:

    • 这也不完全有效。 IE 认为一个简单的 (没有 DTD 或任何东西)意味着页面是 CSS1Compat。天哪,我多么讨厌 IE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2013-08-02
    相关资源
    最近更新 更多