【问题标题】:Correct content type for html use?html 使用的正确内容类型?
【发布时间】:2011-08-13 01:25:54
【问题描述】:

我在我的网站上使用 XHTML,但这完全破坏了 jQuery 及其插件。
因此,我想回到 html 4。我正在为我的 html 定义一些自定义属性,如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
 "http://www.w3.org/TR/html4/strict.dtd" [ 
      <!ATTLIST mytag myattribute CDATA #IMPLIED> 
 ]>

这似乎是有效的 html,但是当我从我的服务器传递这样一个内容类型为 text/html 的页面时,我的浏览器显示 ']>' - 它无法正确解析 doctype。
我应该使用其他内容类型吗?

【问题讨论】:

  • 我可以在 jsfiddle 上复制此错误,但它在本地使用 Chrome 13 可以正常工作。您在文档类型中包含 元数据标记是否有任何特殊原因?你的代码没有它也能工作。小提琴 - jsfiddle.net/Perception/fvxA2
  • 是的,我正在向我的 div 标签添加自定义属性。如果我不添加 ,则文档不会验证..
  • 我真的很想使用 xhtml,我已经尝试过了,但是它弄乱了我的 jQuery 和 javacsript - stackoverflow.com/questions/7045253/jquery-xhtml-compliance。 xhtml 会很完美,但我似乎无法让它工作:(

标签: content-type html4


【解决方案1】:

From A List Apart

如果你通过 W3C 验证器运行这样的文件,你会发现它 验证得非常好。如果您为此下载示例文件 文章和验证文件 internal.html,你可以看到这个 你自己。不幸的是,当您在浏览器中显示文件时, ]> 出现在屏幕上。没有办法解决这个错误,所以这个 方法是正确的。

所以这基本上是行不通的。为了让它工作,你需要复制你想要的服务器/本地机器的 DTD,适当地编辑它并将它放在一个可公开访问的地方。详情请参阅文章。

就 jQuery 而言,如果您放弃尝试以您现在的方式自定义 DTD,它应该可以正常工作。我不确定是否使用自定义 DTD,因为我从未这样做过,但只是将属性添加到元素而不在 DTD 中定义它们不应该导致 jq 出现问题。授予文档不会验证,但验证只是一个工具,在宏伟的计划中并不太重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 2012-10-27
    • 2015-05-22
    • 2018-07-18
    • 2010-10-03
    • 2015-08-10
    相关资源
    最近更新 更多