【问题标题】:W3 validator validates XHTML page but now page is emptyW3 验证器验证 XHTML 页面,但现在页面为空
【发布时间】:2016-11-05 16:36:33
【问题描述】:

所以,我想对自己严格一些,并拿了一个 HTML5 页面并将其验证为 XHTML Strict -- 一直如此。

修复了阅读非常有用的错误消息的每个错误。现在整个页面完全符合 XHTML。但该页面仅显示包含广告的 DIVS。包含页面内容的主DIV不见了,哈哈!

这是供您欣赏的页面: http://mypollingcenter.com/charts1.htm

【问题讨论】:

  • 你做错了。为了严格起见,您不会针对 XHTML 文档类型验证 HTML5。您不针对 XHTML 文档类型验证 HTML5,句号。您使用 HTML5 检查器验证 HTML5。
  • 你能发布一个演示这个问题的sn-p吗?单独一个链接是不行的。请参阅Something in my web site or project doesn't work. Can I just paste a link to it? 另外,您应该更准确地告诉我们出了什么问题。哪个 div 是“包含页面事项”的?它以前是什么样子的,现在是什么样子的?您尝试过什么让它再次可见?
  • @BoltClock 从技术上讲,你是对的,这对 OP 来说是徒劳的。但是,我坚信尝试让页面进行验证总是一个好主意!无论您验证的 DTD 是什么。一个没有错误的 XHTML 页面,即使只是在一个 .htm 文件中,也比一个糟糕的 HTML5 页面要好。
  • 我将标题更改为 HTML,但仍然没有显示。我认为这是我的错误。请等我回来。

标签: html validation xhtml


【解决方案1】:

好吧,我很抱歉。问题是,在我过分热心的情况下,我改变了

这一行:

<script src="../avazyabadu/kramaanukrama.js" type="text/javascript"></script>

到这里:

<script src="../avazyabadu/kramaanukrama.js" type="text/javascript"/>

空标签/元素规则,你懂的。

所以,验证器把整个事情当作 JavaScript,也许吧?

我学到的教训:

  1. JavaScript 外部文件引用是 XHTML/XML 规则的一个例外。保留结束标记。
  2. XHTML 不再有“斜线前的空格”规则。
  3. 标记完全符合严格的 XHTML 验证为 HTML5,前提是您如下切换标题。
  4. 如果您的页面是 UTF-8 格式,则 XHTML 不需要字符集声明
  5. Use this Validator (Not this one)

XHTML 顶行:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>

HTML 顶行:

<!DOCTYPE html>
<html lang="en-US">
<head>
  <meta charset="utf-8">

【讨论】:

  • 关于#5“使用此验证器”,实际上,如果您提交常规 HTML 页面,常规页面将切换到 /nu。很抱歉这个错误。
  • 如果内容是有效的 XHTML,验证器认为没问题。但是文件类型仍然是HTML,所以你的浏览器使用HTML解析规则。
  • 如果您的文件仍然是“空”版本,您可以将其重命名为 .xhtml 文件扩展名并加载到浏览器中,然后查看差异。
猜你喜欢
  • 2011-08-04
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2015-01-24
  • 2014-07-29
  • 2014-07-12
相关资源
最近更新 更多