問題:
アラートが表示されないのはなぜですか? そして、どうすればそうすることができますか?
<script>
function onSuccess() {
var response= "<script> alert(1);</\script>";
document.getElementById("xxx").innerHTML = response;
}
</script>
<div id="xxx">existing text</div>
<button id="click" onclick="onSuccess();">click</button>
これは私の問題の単純化されたバージョンです。私たちのアプリケーション(特に 1 つの非常に古いモジュール)では、すべての AJAX 応答だけを処理する古い自家製の AJAX クラスを使用していinnerHTMLs
ます。伝統的に、AJAX 応答として HTML のみを送り返してきましたが、成功ハンドラーで JS を実行したいと思います。 JS ファイルにアクセスできないため、応答の処理方法を変更できません。成功ハンドラーが呼び出すという事実のみで作業できますdiv.innerHTML='<my response>'
ばかげているかもしれませんが、これらの制約を使用して何らかの助けを期待しています!
同様のリンク: