问题标签 [w3c-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
2349 浏览

javascript - 当您使用 javascript 填充需要子元素的元素时,如何编写有效的 XHTML 1.0 Strict 代码?

我正在通过 W3C 的验证器运行我的网站,试图让它验证为 XHTML 1.0 Strict,但我遇到了一个特别棘手的(至少在我的经验中)验证错误。我在网站中包含来自各种服务的某些徽章,这些服务提供自己的 API 和代码以包含在外部网站上。这些徽章(大部分情况下)使用 javascript 来填充您在需要子元素的标记中插入的元素。这意味着最终会生成完全有效的标记,但对于验证器来说,它所看到的只是一个不完整的父子标签,然后它会抛出一个错误。

作为一个警告,我知道我可以向他们的徽章不验证的服务投诉。没有这个,我假设有人已经验证了他们的代码,同时包含了这样的徽章,这就是我感兴趣的。诸如“向 Flickr 投诉他们的徽章”之类的答案对我没有多大帮助。

另一个警告:我希望标记尽可能保持语义。IE 添加一个空的 li 标记或 tr-td 对以使其验证将是一个不受欢迎的解决方案,即使它可能是必要的。如果这是唯一可以验证的方法,那么好吧,但请把答案倾向于语义标记。

举个例子:

注意包装 javascript 的 ul 标签。这最终会通过脚本用 lis 填充,但对于验证器来说,它只看到未填充的 ul。

提前致谢!

0 投票
5 回答
63423 浏览

javascript - 如何在 javascript 字符串中转义 & 符号,以便页面验证严格?

我正在尝试使用 JQuery 将 dataString 传递给 ajax 调用。在调用中,我构造了get参数,然后将它们发送到接收端的php页面。问题是数据字符串中包含与号,并且 HTML 严格验证器正在阻塞它。

这是代码:

这是验证器消息的示例:无法为一般实体“密码”生成系统标识符。

(在验证器中,第一个&符号后面的“p”标记为红色,表示失败点)。

0 投票
2 回答
204 浏览

html - 验证 HTML

我是 HTML 和 CSS 的初学者。我刚刚设计了网站并尝试验证,但我的 HTML 最终有一些“geovisit();” 它不会验证。我不知道如何摆脱它。帮我?谢谢客人

0 投票
6 回答
16634 浏览

html - HTML Validator 给我表单输入类型错误,上下文中不允许的元素

这是我拥有的 HTML 验证器给我一个错误的代码:

这是 HTML Validator 中的错误屏幕截图全尺寸):

HTML Validator 中的错误屏幕截图。

这是我收到的错误消息:

所提到的元素不允许出现在您放置它的上下文中;其他提到的元素是唯一允许在那里并且可以包含提到的元素的元素。这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素。

HTML 文件的正文中有两种类型的元素,内联元素和块元素。此消息的一个可能原因是您试图将块级元素(例如“<p>”或“<table>”)放入内联元素(例如“<a>”、“<span> ",或 "<font>")。

在下面的示例中,<font> 标签是一个内联标签,它只能包含其他内联标签。但是 <p> 标签是块标签。所以 <p> 标签不能包含在 <font> 标签中。

这是它来自的html块:

0 投票
2 回答
668 浏览

.net - 是否存在用于 W3C 标记验证器 API 的 .NET 库?

我想验证我的 WPF 应用程序的用户是否将正确的 XHTML 放入其 TextBox 控件中。

我发现有一个用于W3C Markup Validator的API

它的网页说:

鼓励构建用于与验证器 API 交互的库。…

它列出了已知的 Perl、PHP/PEAR 和 ColdFusion 库。

有人知道 W3C 标记验证器 API 的 .NET 库吗?是否已经存在?

0 投票
4 回答
5984 浏览

xhtml - 可以在 textarea 字段中添加换行符同时保持 XHTML 1.0 有效吗?

编辑:重新阅读我的帖子后,我想我有点不清楚问题是什么。让我尝试重新措辞:

用户可以使用表单中的 textarea 字段在我的网站上发表评论。应该可以在注释中使用<br />. 然后评论作为字符串存储在 mysql-database 中(转义以使其安全),然后从数据库中检索并显示在站点上。显示注释时无法识别常规换行符。

用户可以编辑他们的评论,在这种情况下,原始评论会显示在要修改的文本区域字段中(见下图)。问题是,如果存在任何<br />代码,则代码与 XHTML 1.0 一样无效(请参阅下面的错误消息)。

我可以使用任何其他类型的换行符使代码有效吗?如评论中所述,与 xml:space="preserve" 结合使用的常规换行符不起作用(换行符显示在 textarea 字段中,但当评论在网站上显示为普通文本时则不显示)。


原始问题:

我有一个 Web 表单,其中包含一个用于留下评论的 textarea 字段,我希望它能够使用<br />. 下面是一个简单的例子:

屏幕转储
(来源:shipit.se

它按预期工作,但是当使用 W3C 验证服务时,它不会验证为 XHTML 1.0 过渡。这是我得到的错误:

  1. 错误第 90 行,第 1587 列:文档类型在此处不允许元素“br”

…ription" rows="0" cols="0">Test<br />line break</textarea></dd><dt class="cha

上面提到的元素是在不允许的上下文中找到的。这可能意味着您有错误的嵌套元素——例如“body”部分中的“style”元素而不是“head”内部——或者两个重叠的元素(这是不允许的)。

此错误的一个常见原因是在 HTML 文档中使用了 XHTML 语法。由于 HTML 的隐式关闭元素规则,此错误可能会产生级联效果。例如,在 HTML 文档的“head”部分中为“meta”和“link”使用 XHTML 的“self-closure”标签可能会导致解析器推断“head”部分的结尾和“body”部分的开头" 部分(其中不允许使用“链接”和“元”;因此报告了错误)。

有没有办法让换行符成为有效代码,或者我是否需要找到一种解决方法(例如,在 textarea 字段中使用特定标签进行换行符,然后在<br />稍后显示评论时将其替换)?

0 投票
10 回答
531 浏览

w3c - 显示 W3C 合规性

我想大多数人都同意遵守 W3C 标准是值得追求的。

但是,您是否宣传您的网站是合规的?这样做有好处还是坏处?

如果您确实展示了您的合规性,您是如何做到的?

0 投票
1 回答
3188 浏览

jsp - 来自 JSP 的 XML 声明之前的空格

我正在尝试对我的 JSP 输出进行完整的 XHTML 过渡验证,但遇到了障碍。标题的顶部如下所示:

它包含在如下语句中:

<owportal:page> 标记检查几个不同的路径,以便我们可以在需要时使用特定于项目的标头覆盖它。这样做的问题是 owportal taglib 需要在使用之前进行声明,在 XML 声明之前插入一个空行并导致验证警告。

我曾尝试使用 jsp:output生成 XML 声明,但运气不佳。谁能让我知道我是否在正确的轨道上?

更新:

目前我正在尝试这样的事情

我在 <jsp:root> 行收到错误“无效的标准操作”。不是最有用的错误消息。听起来我可能以某种方式错误地使用了标签。我正在运行 Tomcat 6,所以 JSP 版本应该没有问题。谁能看到我做错了什么?<jsp:root> 是否意味着环绕 <html>?

0 投票
6 回答
6030 浏览

javascript - 为什么我的脚本未通过 w3c 验证?

我有这段代码:

并且...当我尝试验证它时,我收到了这个错误:

文档类型在此处不允许元素“img”

…rer) + '" border="0" alt="no alt" />');

上面提到的元素是在不允许的上下文中找到的。这可能意味着您有错误的嵌套元素——例如“body”部分中的“style”元素而不是“head”内部——或者两个重叠的元素(这是不允许的)。

知道我可以做些什么来使这个 JavaScript w3c 兼容吗?

0 投票
7 回答
1414 浏览

html - HTML 5 - 在可能的情况下尽早采用 - 好还是坏?

这个问题受到了这个问题的启发其中最受好评的答案建议使用 HTML 5 中的功能。这对我来说当然是一个好方法,但它让我对使用未来规范中的功能感到好奇。

HTML 5 提供了许多不错的改进,其中许多可以在当前浏览器中使用而不会引起问题。

一些例子:

许多这些新功能旨在使浏览器能够自动验证表单,并为它们提供更好的输入(例如日期选择器)。有些只是方便,似乎是为未来做好准备的好方法。

它们目前在当前浏览器中没有破坏任何东西(据我所知),它们允许干净、通用的客户端代码。

然而,即使它们在 HTML 5 中都有效,但它们对 HTML 4 无效,而且 HTML 5 在这一点上仍然是草稿。

尽早使用这些功能是个好主意吗?

是否存在我没​​有意识到的浏览器实现问题?

我们现在应该开发利用 HTML 5 草稿特性的网页吗?