当前位置: 首页 > 面试题库 >

可以使用innerHTML插入脚本吗?

盛浩阔
2023-03-14
问题内容

我想一些脚本加载到使用页面innerHTML<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>

问题答案:

您必须使用eval()来执行作为DOM文本插入的任何脚本代码。

MooTools会自动为您执行此操作,而且我敢肯定jQuery也是如此(取决于版本。jQuery
1.6+版本使用eval)。这样可以节省解析<script>标签和转义内容的麻烦,以及一堆其他“陷阱” 的麻烦。

通常,如果您要eval()亲自进行操作,则希望创建/发送没有任何HTML标记(例如)的脚本代码<script>,因为这些标记将无法eval()正常使用。



 类似资料:
  • 问题内容: 我想一些脚本加载到使用页面上。脚本似乎已加载到DOM中,但从未执行(至少在Firefox和Chrome中)。将脚本插入时,是否可以执行脚本? 样例代码: 问题答案: 您必须使用eval()来执行作为DOM文本插入的任何脚本代码。 MooTools会自动为您执行此操作,而且我敢肯定jQuery也是如此(取决于版本。jQuery 1.6+版本使用)。这样可以节省解析标签和转义内容的麻烦,以

  • 问题内容: 我会解释一个模糊的标题。 我正在编写一个SQL脚本来为数据库中表的每一行创建一个插入语句,纯粹是为了能够将该数据应用回另一个数据库。 这是我目前所拥有的: 它的效果很好,输出如下: 问题是,如果字段之一为空,则该行将无法生成更新脚本,在输出文件中,该行仅是空白。显然,由于有20多个字段,因此一些可选内容意味着几乎不会生成我的任何脚本。 有没有办法解决这个问题? 问题答案: 对于NULL

  • 问题内容: 是否可以使用BeautifulSoup从HTML中删除脚本标签及其所有内容,还是必须使用正则表达式或其他内容? 问题答案:

  • 问题内容: 这是JS代码: 主体确实插入了script元素,但是没有加载JS资源,甚至没有http请求。 有人可以解释为什么会这样吗? 问题出在Zeptojs的$方法上 它的工作方式类似于上面的代码,并导致该错误。 问题答案: 这是微不足道的。 如规范中所述8.4解析HTML片段和8.2.3.5其他解析状态标志,)引用: 使用浏览器时_ 创建一个新的Document节点,并将其标记为HTML文档。

  • 我的问题是:如果有,比方说20个节点,这是相当乏味和耗时的。有没有一种方法可以像Hadoop那样从某个本地化位置启动Spark?当您从主节点运行Hadoop时,它会远程启动所有从节点。我正在寻找一个这样的解决方案,或者一个可以SSH到节点并启动它们的python脚本。

  • 问题内容: 想通过一个简单的 sql 脚本(例如填充测试数据库)将文件插入到 BLOB 字段中。我知道如何通过代码做到这一点,但我找不到如何执行 sql 脚本本身。 我试图通过路径,即 但这失败了。 在代码中(例如 java),很容易创建一个 File 对象并将其传入,但是直接从 sql 脚本中,我被卡住了...... 任何想法? 问题答案: 为了测试,您可以插入文字十六进制字节或使用该函数,如下