• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – HTML Tidy无法正常显示脚本标签怎么办?

php 搞代码 3年前 (2022-01-25) 21次浏览 已收录 0个评论
文章目录[隐藏]

我用的是PHP编写的HTML Tidy,但是Javascript字符串上的一个<script>标签,它的运作有些异常。我输入的代码如下:“`<script>var t='<script>’;</script>“`HTML Tidy输出代码如下:“`<script>//’;//]]></script>“`上面将</script>解译成了脚本的一部分。然后它又添加了一个</script>禁止打开标签。我尝试使用了HTML Tidy的网页版来解决这个问题,但是结果依旧显示错误运行。我该如何解决这个问题呢?

原问题:HTML Tidy fails on script tag in JavaScript string literal

回复内容:

我用的是PHP编写的HTML Tidy,但是Javascript字符串上的一个<script>标签,它的运作有些异常。我输入的代码如下:“`<script>var t='<script>’;</script>“`HTML Tidy输出代码如下:“`<script>//’;//]]></script>“`上面将</script>解译成了脚本的一部分。然后它又添加了一个</script>禁止打开标签。我尝试使用了HTML Tidy的网页版来解决这个问题,但是结果依旧显示错误运行。我该如何解决这个问题呢?

原问题:HTML Tidy fails on script tag in JavaScript string literal

答:arch
依据经验来看,我觉得你可以用//'<\/script>’控制某种算法,来阻止这种错误发生:

<code><script>var t='<script>'; //'<\/script>'</script></code>

clean-up算法如下:

<code>   <script>var t='<script>'; //'<\/script>'   </script>   <title></title><body></code>

我觉得,可能是因为clean-up算法检测到了两个字符串<script>,所以它才会显示出</script>。而分离使第二个</script>无法被检测到,以至于它才会在代码末端添加了另一个</script>。
所以,我大胆猜想,在整个算法中,并没有IF语句来判断注释中是否有。所以,必要的话,你可以在javascript注释中添加另一个<\/script>字符串,让整个算法认定其中有两个</script>。

答:HerrSerker
不要把脚本标签用一句话写出来,而是要用并置的字符串表述出来:

<code><script>var t='';&<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark><pre>搞代gaodaima码

lt;/script>

结果清除代码:

<code>    <script>var t='';    </script>    <title></title><body></code>

答:Chris G
我觉得,采用如下方法创建一个脚本标签比较好:

<code><script>   script = document.createElement('script');   script.type = 'text/javascript';   script.src = 'http://myserver.com/file.js';   document.getElementsByTagName('head')[0].appendChild(script);  </script></code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – HTML Tidy无法正常显示脚本标签怎么办?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址