本文探讨在JavaScript中使用eval函数执行HTML字符串时遇到的兼容性问题。由于浏览器解析机制差异,直接eval包含HTML标签的字符串可能失效。通过闭合当前script标签并重新开启的方式,可成功执行HTML代码。
eval执行HTML代码的兼容性问题
在编写JavaScript代码时,有时会发现eval()函数无法直接执行包含HTML标签的字符串。例如:
代码如下:
<script>eval('<li>hehe</li>')</script> 通过闭合script标签解决执行问题
上述代码通常无法执行,但通过调整字符串结构即可实现:
代码如下:
<script>eval('</script><li>hehe</li><script>')</script>