0

重複の可能性:
jQuery:<script>要素を追加できません

私はこれを行うことによってdivをjavascriptに置き換えようとしています:

$("#frame").replaceWith("<script language='JavaScript' type='text/javascript'>AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, 0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);</script>") ;

しかし、コンソールでは、エラーは予期しないトークンを示しています:違法

何か案が?

4

2 に答える 2

2

これはインライン JavaScript であると推測しています。その場合、終了</script>タグを分割する必要があります。また、読みやすくしました。

$("#frame").replaceWith(
    "<script language='JavaScript' type='text/javascript'>"
    + "AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, "
    + "0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);"
    + "<" + "/script>"
);

</script>これは、文字列内がスクリプト ブロックの終わりであるとブラウザが認識しないようにするためです。例:

<script>
    // Doesn't work!
    alert('</script>');
</script>

ブラウザには次のように表示されます。

<script>
    // Doesn't work!
    alert('
</script>
');
</script>

つまり、ブラウザは、スクリプトが最初に表示された時点で終了したと見なし</script>ます。これは、偽物</script>をバラバラにすることで修正できます。

<script>
    // Works fine!
    alert('<' + '/script>');
</script>
于 2012-12-01T04:48:59.810 に答える
0

レンダリング後に DOM にスクリプト タグを追加しても、スクリプトは自動的に読み込まれません。

スクリプトをロードするには、この jQuery 関数をご覧ください: http://api.jquery.com/jQuery.getScript/

于 2012-12-01T04:50:23.820 に答える