JQueryを使用して文字列をdivに追加しようとしているという問題があります。
この文字列はHTMLになり、ユーザーが文字列内でスクリプトタグを使用する場合があります。
残念ながら、ブラウザ</script>
が文字列内を読み取ると、セクションが終了し、次のすべてのJavaScriptがブラウザに出力されます。明らかに、私たちはそれを望んでいません。
ブラウザに文字列内の何も解析しないようにする方法はありますか?
この例としては、Divに追加されているAdSense広告があります。
JQueryを使用して文字列をdivに追加しようとしているという問題があります。
この文字列はHTMLになり、ユーザーが文字列内でスクリプトタグを使用する場合があります。
残念ながら、ブラウザ</script>
が文字列内を読み取ると、セクションが終了し、次のすべてのJavaScriptがブラウザに出力されます。明らかに、私たちはそれを望んでいません。
ブラウザに文字列内の何も解析しないようにする方法はありますか?
この例としては、Divに追加されているAdSense広告があります。
バックスラッシュ ( \
) を使用して終了タグのスラッシュをエスケープし、実際の要素<script>
を閉じないようにすることができます。<script>
var foo = document.write('<script src="somewhere.js"><\/script>');
これは、ローカル フォールバックを使用して CDN からスクリプトを読み込むときによく使用されます。
<script src="//cdn.example.com/jquery.js"></script>
<script>
if (!window.jQuery) document.write('<script src="/assets/js/jquery.js"><\/script>');
</script>
この問題を回避するには、次を使用します。
"</scr" + "ipt>"
醜い、迷惑ですが、機能しています!