W3 验证器验证 XHTML 页面,但现在页面为空

W3 validator validates XHTML page but now page is empty

提问人:user6545390 提问时间:7/4/2016 更新时间:7/4/2016 访问量:42

问:

所以,我想严格要求我,并选取了一个HTML5页面,并验证它是XHTML Strict--一直。

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

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

HTML 验证 xhtml

评论

1赞 BoltClock 7/4/2016
你做错了。为了严格起见,您不会根据 XHTML 文档类型验证 HTML5。您不会根据 XHTML 文档类型验证 HTML5。使用 HTML5 检查器验证 HTML5。
0赞 Mr Lister 7/4/2016
你能发布一个片段来证明这个问题吗?仅靠链接是无法做到的。看到我的网站或项目中的某些内容不起作用。我可以只粘贴一个链接吗?此外,您应该更准确地告诉我们出了什么问题。哪个 div 是“包含页面问题”的那个?它过去是什么样子的,现在是什么样子的?你试图让它再次可见吗?
0赞 Mr Lister 7/4/2016
@BoltClock 从技术上讲,你是对的,这对 OP 来说是徒劳的。但是,我坚信,尝试验证页面总是一个好主意!无论您要针对的是哪种 DTD。一个没有错误的 XHTML 页面,即使只是在 .htm 文件中,也比一个糟糕的 HTML5 页面要好。
0赞 user6545390 7/4/2016
我将标题更改为 HTML,但仍然没有显示。我认为这是我的错误。请等我回来结果。
0赞 Sebastian Simon 7/4/2016
为什么自闭合脚本标记不起作用?

答:

0赞 user6545390 7/4/2016 #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. 使用此验证器(不是此验证器)

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">

评论

0赞 user6545390 7/4/2016
关于#5“使用此验证器”,实际上,如果您提交常规HTML页面,常规页面会切换到/nu。很抱歉出现错误。
0赞 Mr Lister 7/4/2016
如果内容是有效的 XHTML,则验证者认为它没问题。但是文件类型仍然是 HTML,因此您的浏览器使用 HTML 解析规则。
0赞 Mr Lister 7/7/2016
如果您仍然有文件的“空”版本,您可以将其重命名为 .xhtml 文件扩展名并加载到浏览器中并查看差异。