【问题标题】:Is it possible to have <DOCTYPE> inside <script>?是否可以在 <script> 中包含 <DOCTYPE>?
【发布时间】:2011-06-18 01:18:34
【问题描述】:

是否可以在 HTML 页面的 script> 标记内定义 &lt;DOCTYPE&gt;?

我收到一个错误提示 A DOCTYPE is not allowed in content。

有人能告诉我是否应该为此收到任何此类错误吗?

【问题讨论】:

  • 你的意思是在一个字符串中,比如var s = "&lt;DOCTYPE&gt;"; 还是只是&lt;script&gt;&lt;DOCTYPE&gt; ... &lt;/script&gt;?如果是后者,你到底想达到什么目的?
  • 另外,假设您指的是Document Type Declaration instruction,那么它必须以&lt;! 开头,如&lt;!DOCTYPE html&gt;。
  • @Daniel:我得到的错误位于bitbucket.org/alexg/syntaxhighlighter/src/a8771a7fc81d/tests/… 的第 28 行。
  • @skip:该代码错误。 HTML 文档不会嵌套在 &lt;script&gt; 标记内。这在任何版本的 HTML 中都是不正确的。它来自作为语法突出显示程序测试的一部分的文件,这一事实向我表明,这是一个故意错误的示例,旨在对语法突出显示进行折磨测试,而不是要模拟的代码示例。

标签: html syntaxhighlighter


【解决方案1】:

您的文档类型应该位于文档的顶部。为什么要把它放在其他地方?

【讨论】:

  • 我拥有的文件是 syntaxhighlighter 3.0.83 的一部分。该文件的名称是 theme_tests.html。这是它的链接,bitbucket.org/alexg/syntaxhighlighter/src/a8771a7fc81d/tests/…。我在我的应用程序中使用了syntaxhighlighter,问题是我在chrome上的应用程序页面上获得了所需的结果,但firefox没有显示chrome正在显示的内容。
  • @Everyone:非常感谢所有回复。我在申请中遇到的问题是因为我正在做一些非常愚蠢的事情。我已经解决了问题。它与 DOCTYPE 无关。我所知道的关于 DOCTYPE 的全部内容是,对于 HTML,它会告诉您要在文档中使用的 HTML 类型,而对于 XML,它会告诉您关于 XML 结构的约束。非常感谢:)
【解决方案2】:

你这样做的方式(使用&lt;script type="text/plain"&gt;)相当危险,但无论你想在那里完成什么都可以用 CDATA 解决:

&lt;script type="text/plain"&gt;&lt;![CDATA[
(Your document)
]]&gt;&lt;/script&gt;

【讨论】:

    【解决方案3】:

    请记住,doctype 是浏览器指令,而不是实际的 html。因此,除了顶部之外的任何地方都有它有点奇怪,但更重要的是它不会做任何事情。

    【讨论】:

    【解决方案4】:

    你的问题迫使我假设你更好地理解什么是文档类型,这个链接可能会有所帮助:http://www.w3.org/QA/Tips/Doctype

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2010-12-28
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多