【发布时间】:2017-05-18 15:00:34
【问题描述】:
我在我的网页中插入了一些 js 代码(由第三方服务提供),它破坏了我的 html 验证。我该如何解决这个问题? CDATA 没有做到这一点。 这是我的示例 sn-p:
<!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你可以找到验证器的结果。
【问题讨论】:
-
你能解释一下,为什么你的代码看起来像 XSS 注入?
-
该脚本的结尾看起来很奇怪/可疑
</scr' + 'ipt>'? -
@Liam — 它阻止
</script>被解释为实际脚本元素的结束标记。 -
@Mouser — 它看起来不像 XSS。这是提供第三方托管脚本的一种相当标准的方法,该脚本知道它被加载到了哪个页面。
-
啊,我明白了。感谢您的澄清
标签: javascript cdata html-validation