首頁 >web前端 >js教程 >為什麼 AJAX 注入的 `` 標籤總是不執行,我該如何修復它?

為什麼 AJAX 注入的 `` 標籤總是不執行,我該如何修復它?

Susan Sarandon
Susan Sarandon原創
2024-11-19 05:58:02890瀏覽

Why Don't AJAX-Injected `` Tags Always Execute, and How Can I Fix It?

執行;透過AJAX 注入的元素

在某些情況下,AJAX 呼叫可能會取得包含<script> 的內容。標籤。但是,這些標籤內的腳本程式碼在註入 DOM 後可能無法執行。 </script>

問題說明:

考慮以下HTML 結構:

<div>

發出AJAX 請求,並用PHP 檔案中的資料填入「Content」div 。假設 PHP 回應包含以下程式碼:

<div>

AJAX 要求完成後,注入的 <script>由於插入時無法存取 DOM,標籤可能無法執行。 </script>

解決方案:

執行注入的<script>程式碼,可以利用以下JavaScript 技術:</script>

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

此程式碼擷取所有<script>指定div 中的元素並評估其innerHTML,有效執行它們包含的程式碼。 </script>

以上是為什麼 AJAX 注入的 `` 標籤總是不執行,我該如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn