我用的是PHP编写的HTML Tidy,但是Javascript字符串上的一个
<html>
<script> var t='<script>';
</script>
</html>
HTML Tidy输出代码如下:
<html>
<script> //'; //]]>
</script>
</html>
上面将
依据经验来看,我觉得你可以用//''控制某种算法,来阻止这种错误发生:
<html>
<script>
var t='<script><'+'/script>'; //'<\/script>'
</script>
</html>
clean-up算法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<script>
var t='<script><'+'/script>'; //'<\/script>'
</script>
<title></title>
</head>
<body>
</body>
</html>
我觉得,可能是因为clean-up算法检测到了两个字符串。而分离< with /script>使第二个无法被检测到,以至于它才会在代码末端添加了另一个。
所以,我大胆猜想,在整个算法中,并没有IF语句来判断注释中是否有。所以,必要的话,你可以在javascript注释中添加另一个字符串,让整个算法认定其中有两个。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。