17

HTML では、タグとエンティティは<script>タグ内で解析されず、</すぐにタグを終了します。したがって、

<script><b>fun &amp; things</

は、正確な内容のスクリプト タグを提供します<b>fun &amp; things

JSON を含めていて、スクリプトに文字を含めたい場合は、それらの文字が表示される唯一の場所が文字列であり、1 つのスラッシュに変わるエスケープ シーケンスであるため、</に置き換えることができます。<\/\/

ただし、JavaScript を使用していない場合、このトリックは機能しません。私の場合、具体的には<script type="math/tex">、ソースにa を挿入して、 MathJaxが処理できるようにしようとしています。</元の HTML ソースでエスケープする方法はありますか? (特に必要はありませんが</、汎用ツールを作成していて、任意のテキストを使用できるようにしたいと考えています。)

(JavaScript で script タグを作成し、そのinnerTextにデータを入力することは可能ですが、生の HTML で作業しているため、それはできません。)


チェックWindow->Preferences...Android画面。上部にあるのは SDK のルートの場所です。フォルダを開き、そこで を探します/extras/google/google_play_services/。次に、質問で提案したとおりにインポートします。

4

4 に答える 4

23

</script>私は、JavaScript コード内で普遍的にエスケープする方法を探してここに来ました。

少し調査した結果、JavaScript コードでエスケープしようとしている場合、とタグ</script>の間の html に安全に埋め込むことができる場合は、またはに置き換える必要があることがわかりました。で置き換えると、次のように JavaScript コードが壊れる可能性があるため、実行する方が安全です。<script></script></script</scr\ipt</scri\pt<\/scriptvar q = -1</script/.test("script");

を探すので</script>はなく、スクリプトと同じように終了する</scriptので注意してください。</script asdasdas></script>

申し訳ありませんが、OPにはまったく役立ちません。受け入れられた答えは絶対に正しいです。コードを壊さずに発生<script></script>を回避する方法を知るために、内部にある言語でどの構造が合法であるかを知る必要があります。</script>

于 2014-06-01T19:11:17.713 に答える
8

HTML では、XHTML とは反対に、script要素のコンテンツは終了タグの発生を除いてプレーン テキストとして処理されるため、</処理は終了し、準拠するドキュメントでは終了タグを開始する必要があり</script>ます。これを回避する一般的なメカニズムはありません。この機能を回避するメソッドは、要素内で使用される「言語」に必然的に依存します。ここでは「言語」という言葉を引用符で囲んでいます。コードが解析して処理できる限り、内容はほぼ何でもかまいません。

したがって、一般的なメカニズムはありませんが、JavaScript 以外のコンテンツ、または一部のブラウザーで認識される他のいくつかのクライアント側スクリプト言語の一部については、独自のルールを作成できます。

于 2013-02-08T21:13:57.407 に答える
0

もっと多くの HTML エンコーディングが役立つでしょうか? &lt;のために<

あなたがそれで何をしているのかを知るのは難しいです。スクリプト タグ間の内容がわからない場合 (何らかのテンプレート ホルダーとして使用しようとしているように見えますか?)、CDATA セクションを使用できます/使用する必要があります。

<script><![CDATA[<b>fun &amp; things</b>]]></script>

それはそれを行う必要があります。より多くの説明は、より良い答えを与えるのにも役立ちます:)

于 2013-02-08T20:37:30.980 に答える