javascript - 将脚本渲染为 HTML 而不执行

标签 javascript html

  <html>

     <p> Some html </p>

     <script> some script </script>

  </html> 

如何识别脚本标签并将其呈现为内容。

我有一个专门用于在网页中显示 html 的 div,如果它有任何脚本,我想将它们呈现为内容,但是在将 html 附加到 div 时,脚本会被执行,这是我不希望发生的情况。如何阻止脚本执行,是否有任何库可以做到这一点。

注意: 1. 内联脚本也应该被阻止执行。 2. 附加的 Html 内容是动态的,从电子邮件监听器源获取

提前致谢!

最佳答案

but while appending the html to the div, the script gets executed which I dont want to happen. How to keep the script from executing, are there any libraries to do that.

既然你说你已经有了div内容,一旦你追加它,脚本就会被执行,这是默认行为,我们能做的是在追加你的div内容之前,我们可以修改内容字符串来替换<script></script>通过&lt;script&gt;&lt;/script&gt; 。这是它的演示。

var divContent = '<script>alert("I must not execute!!");<\/script>';

var res = divContent.replace(/<script/g,"&lt;script&gt;").replace(/<\/script/g,"&lt;/script&gt;");

document.getElementById("output").innerHTML = res;
<div id="output">
   
</div>

关于javascript - 将脚本渲染为 HTML 而不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36083598/

相关文章:

javascript - 让 XML 以 HTML 形式显示

javascript - 显示模态时隐藏下拉菜单

javascript - 为 Bootstrap Carousel 创建容器

javascript - 在函数中,如果在大括号中有一段代码,我想知道输出是什么

javascript - 使用Ajax运行php函数

javascript - 使用 Facebook Insights 图形 API (JavaScript) 获得准确点击率的最佳方法是什么

javascript - 如何做到这样,如果我单击 <a> 元素,它会转到链接,但不会触发其父元素的 .click() 事件?

javascript - 处理嵌入式 SVG 脚本标签中的字符引用

javascript - 如何实现parseFloat

javascript - 如何在 Javascript 中创建真正的隐藏变量