为什么 CDATA 不保护我的 javascript 代码不受 HTML 验证器的影响?
Why isn't CDATA protecting my javascript code from the HTML validator?
我在我的网页中插入了一些 js 代码(由第三方服务提供),它破坏了我的 html 验证。我该如何解决这个问题? CDATA 没有解决问题。
这是我的示例片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<script type="text/javascript">
/*<![CDATA[*/
document.write('<script src="//sharebutton.net/plugin/sharebutton.php?type=horizontal&u=' + encodeURIComponent(document.location.href) + '"></scr' + 'ipt>');
/*]]>*/
</script>
</head>
<body>
<p>test</p>
</body>
</html>
和here你可以找到验证器的结果。
<![CDATA[*
是 XML 的特征,而不是 HTML。它只是 HTML 项中脚本元素文本内容的一部分。
要安全地将字符串 </script>
包含在 HTML 中的 JavaScript 字符串文字中:转义斜杠:
'"><\/script>')
我认为您的嵌套块注释是错误的。试试这个...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<script type="text/javascript">
/*<![CDATA[
document.write('<script src="//sharebutton.net/plugin/sharebutton.php?type=horizontal&u=' + encodeURIComponent(document.location.href) + '"></scr' + 'ipt>');
]]>*/
</script>
</head>
<body>
<p>test</p>
</body>
</html>
我在我的网页中插入了一些 js 代码(由第三方服务提供),它破坏了我的 html 验证。我该如何解决这个问题? CDATA 没有解决问题。 这是我的示例片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<script type="text/javascript">
/*<![CDATA[*/
document.write('<script src="//sharebutton.net/plugin/sharebutton.php?type=horizontal&u=' + encodeURIComponent(document.location.href) + '"></scr' + 'ipt>');
/*]]>*/
</script>
</head>
<body>
<p>test</p>
</body>
</html>
和here你可以找到验证器的结果。
<![CDATA[*
是 XML 的特征,而不是 HTML。它只是 HTML 项中脚本元素文本内容的一部分。
要安全地将字符串 </script>
包含在 HTML 中的 JavaScript 字符串文字中:转义斜杠:
'"><\/script>')
我认为您的嵌套块注释是错误的。试试这个...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<script type="text/javascript">
/*<![CDATA[
document.write('<script src="//sharebutton.net/plugin/sharebutton.php?type=horizontal&u=' + encodeURIComponent(document.location.href) + '"></scr' + 'ipt>');
]]>*/
</script>
</head>
<body>
<p>test</p>
</body>
</html>