W3使用一行javascript代码验证html错误
我在validator.W3.org中遇到以下错误W3使用一行javascript代码验证html错误,javascript,html,validation,Javascript,Html,Validation,我在validator.W3.org中遇到以下错误 第70行第26列:字符“您正在验证一个XHTML文档,所以 就我个人而言,我不知道在这个时代为什么要使用XHTML,但不管怎样。你在验证一个XHTML文档,所以 就我个人而言,我不知道在今天这个时代为什么要使用XHTML,但不管怎样。如果要验证为XHTML,请尝试将JavaScript包装在块中: 如果要验证为XHTML,请尝试将JavaScript包装在块中: 您使用的是严格的XHTML,因此,如果要将XML语法中的所有字符用作文本,
第70行第26列:字符“您正在验证一个XHTML文档,所以
就我个人而言,我不知道在这个时代为什么要使用XHTML,但不管怎样。你在验证一个XHTML文档,所以
就我个人而言,我不知道在今天这个时代为什么要使用XHTML,但不管怎样。如果要验证为XHTML,请尝试将JavaScript包装在
块中:
如果要验证为XHTML,请尝试将JavaScript包装在
块中:
您使用的是严格的XHTML,因此,如果要将XML语法中的所有字符用作文本,则必须对其进行正确转义。在XHTML中,通常的方法是使用CDATA块,该块以与HTML兼容的方式转义:
<script type="text/javascript">//<![CDATA[
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
//]]></script>
//
但是,有两个更好的修复方法:
- 使用HTML5(
),而不是XHTML - 使用外部脚本,
两者都是更好的做法。您使用的是严格的XHTML,因此,如果您想将XML语法中的所有字符用作文本,则必须对它们进行正确的转义。在XHTML中,通常的方法是使用CDATA块,该块以与HTML兼容的方式进行转义:
<script type="text/javascript">//<![CDATA[
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
//]]></script>
//
但是,有两个更好的修复方法:
- 使用HTML5(
),而不是XHTML - 使用外部脚本,
两者都是更好的练习。你的doctype是什么?这是在
块中吗?doctype添加在start post中。是的,我使用脚本块。也添加在start post中。使用外部脚本。你的doctype是什么?这是在
块中吗?doctype添加在start post中。是的,我使用脚本块。也添加在start post中。使用外部脚本。I在我的网站上使用其他Java脚本,这些脚本不会给出错误,而且我没有在那里使用CDATA。Thnx作为提示!@user2838753您可能在其他页面中没有严格的XHTML doctype。真的,如果您没有XHTML的特殊原因,只需使用HTML5 doctype即可。@user2838753:或者,您可能只是没有使用
或
,或者&
运算符或字符。是的,我第一次使用HTML5,当我将其更改为xHTML时,出现了此错误。我读了一些关于xHTML与HTML5的讨论。对于某些网站,xHTML更好(他们说)@user2838753:这几乎是不可能的。如果你想限制自己使用HTML4元素和属性以实现兼容性,你可以在HTML5中这样做。你也可以添加尾随的/>
以作废标记作为样式选择。不过,无论哪种方式,使用外部脚本都可以巧妙地解决问题并减少负载,因为外部脚本可以缓存。此时我使用PHP包含javascript。但如果我将其更改为.js外部脚本,脚本将不再工作?!是的,我第一次使用HTML5,当我将其更改为xHTML时,出现了此错误。我阅读了一些关于xHTML与HTML5的讨论。对于某些网站,xHTML更好(他们说)@user2838753:这几乎是不可能的。如果你想限制自己使用HTML4元素和属性以实现兼容性,你可以在HTML5中这样做。你也可以添加尾随的/>
以作废标记作为样式选择。不过,无论哪种方式,使用外部脚本都可以巧妙地解决问题并减少负载,因为外部脚本可以缓存。此时我使用PHP包含javascript。但是如果我将其更改为.js外部脚本,脚本将不再工作?!
<script type="text/javascript">
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script>
<![CDATA[
// JavaScript goes here
]]>
</script>
<script type="text/javascript">//<![CDATA[
function secondPassed() {
var minutes = Math.round((seconds - 30)/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
//]]></script>