猿问

可以使用innerHTML插入脚本吗?

可以使用innerHTML插入脚本吗?

我尝试使用innerHTMLa 将一些脚本加载到页面中<div>。看起来脚本加载到DOM中,但它永远不会被执行(至少在Firefox和Chrome中)。有没有办法让脚本在插入时执行innerHTML?


示例代码:


<!DOCTYPE html>

<html>

  <body onload="document.getElementById('loader').innerHTML = '<script>alert(\'hi\')<\/script>'">

    Shouldn't an alert saying 'hi' appear?

    <div id="loader"></div>

  </body>

</html>


繁星coding
浏览 609回答 4
4回答

浮云间

您可以创建脚本然后注入内容。var g = document.createElement('script');var s = document.getElementsByTagName('script')[0];g.text = "alert(\"hi\");"s.parentNode.insertBefore(g, s);这适用于所有浏览器:)
随时随地看视频慕课网APP
我要回答