1

ユーザーがそのコードをコピーできるように、埋め込みコードを使用してテキストエリアを作成しようとしています。埋め込みには2つの方法があります(最初の方法はdivのペアを持つスクリプトです)、もう1つはiframeです)。サーバーに送信されるパラメーターを使用して、ユーザーが埋め込みウィジェットのサイズを選択できるようにします。

textareaの内容は次のようになります<script src="http://mysite.com/embed/product_id/width/height"></script>

通常、HTMLで印刷すると、エンコードされたHTML(&lt;&gt;)として設定されますが、この場合はJavascriptで設定する必要があります。

したがって、これは機能しません。

$('textarea.embed_code').val('<script src="http://mysite.com/embed/product_id/width/height"></script>');

終了タグは、この行が設定されている最初のスクリプトタグを中断します。

スクリプトソースの幅と高さを変更する方法(正規表現、文字列の置換など)についての提案も問題ありません。その場合は、HTMLからテキストエリアのコンテンツを出力します。

他のタグは正常に機能します。問題は<script>

4

1 に答える 1

8

文字列"</script>"をデータとして<script>要素に含めるには、:をエスケープし/ます"<\/script>"。これにより、JavaScript文字列リテラル構文と同等でありながら、HTML終了タグ構文が壊れます。

于 2013-03-25T16:04:22.063 に答える