-1

例えば:

<html>
    <div id="media">123</div>
    <a href="javascript:void(0)" onClick="return fun()">Click</a>
    <script type="text/javascript">
        function fun() {
            document.getElementById("media").innerHTML = '<script type="text/javascript">alert("working");<\/script>';
        }
    </script>
</html>

クリックしてもアラートは表示されません。

alert("working"); はほんの一例です。他の javascript の 1 つのジョブを終了させたい。ajax を介して処理するジョブがあり、innerHTML を使用する必要がありました

4

3 に答える 3

6

HTML仕様では、innerHTML を使用して挿入されたスクリプト タグを実行しないように指定されています。これはセキュリティ上の考慮事項です。

imgハンドラーに追加したり、スクリプト要素を作成したり、DOM に挿入したり、そのtextプロパティを変更したりするなど、決定した場合はまだこれを行う方法があります。これを行うことは一般にやや大ざっぱであると考えられているため、これらについては詳しく説明しません。スクリプトを挿入しようとしていない場合は、ページ ソースにスクリプト要素を含める必要があります。

于 2013-03-14T18:56:55.913 に答える
1
<script type="text/javascript">

function fun() {
    alert("working");
}
</script>

<div id="media">123</div> <a href="javascript:void(0)" onClick="fun();">Click</a>
于 2013-03-14T19:00:06.147 に答える
0

JS 関数は次のようになります。

function fun() {
  alert("working");
}
于 2013-03-14T18:56:35.680 に答える