首页  >  文章  >  web前端  >  为什么我的 Injected `` 标签在 AJAX 调用后不执行?

为什么我的 Injected `` 标签在 AJAX 调用后不执行?

DDD
DDD原创
2024-11-23 12:14:14779浏览

Why Doesn't My Injected `` Tag Execute After an AJAX Call?

执行注入的 <script>; AJAX 调用后</script>

在基于 AJAX 的应用程序中,您可能会遇到需要动态注入 <script> 的情况。标记到页面的 DOM 中。然而,在 AJAX 响应加载并注入 <script> 之后, </script>

问题陈述

考虑一个 ID 为“Content”的 div 元素,其中包含一个 <script> 标签。标签。 AJAX 调用成功地将数据从 PHP 文件加载到“Content”div 后,<script> 将显示。加载内容中的标签仍未执行。</script>

<div>
<div>

解决方案

执行注入的<script>;标签,您可以使用 JavaScript 手动评估其 insideHTML:</script>

var arr = MyDiv.getElementsByTagName('script');
for (var n = 0; n < arr.length; n++)
    eval(arr[n].innerHTML); //run script inside div

通过迭代 getElementsByTagName('script') 集合并评估每个 <script> 的 innerHTML “MyDiv”div 中的元素,可以确保注入的代码正确执行。</script>

以上是为什么我的 Injected `` 标签在 AJAX 调用后不执行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn