0
<label for="abc" id="xyz">http://abc.com/player.js</xref>?xyz="foo" </label>

無視している

</xref> tag

ブラウザの値。したがって、表示される出力は

http://abc.com/player.js?xyz="foo" 

しかし、ブラウザに表示させたい

http://abc.com/player.js</xref>?xyz="foo" 

これを達成する方法を教えてください。

4

3 に答える 3

2

無視されているわけではありません。終了タグとして扱われています (開始タグを持たない非 HTML 要素の場合)。文字を「タグの開始」ではなくデータとして表示する&lt;場合に使用します。<

とは言っても、これは URL で raw<>あり、"とにかく文字は URI に表示されるべきではありません。したがって、次のようにエンコードしますhttp://abc.com/player.js%3C/xref%3E?xyz=%22foo%22

于 2013-04-10T09:36:52.393 に答える
1

このようにすればいい

"http://abc.com/player.js%3C/xref%3E?xyz=foo"

有効な URL として機能するには、URL を適切にエンコードする必要があります

encodeURI有効な URL のエンコードに使用

var ValidURL = encodeURI("http://abc.com/player.js</xref>?xyz=foo");

より良い知識については、この回答を参照してください。encodeURI

于 2013-04-10T09:36:19.683 に答える
0

私は質問を誤解していました.URIはJavaScript内の他の場所で使用されると思っていました. しかし、この質問には、URI をテキストとしてレンダリングするだけであることが明確に示されています。

表示されているテキストがサーバーから渡されている場合は、ページに印刷する前にエンコードすることをお勧めします (または、テンプレート エンジンを使用している場合は、テンプレートでエンコードするだけで十分です)。 . ほぼすべての Web フレームワーク/テンプレート エンジンにこの機能が必要です。

ただし、静的な HTML だけの場合は、文字を手動でエンコードするだけです。頭のてっぺんからコードがわからない場合は、次のようなオンラインコンバーターを使用して支援できます。

HTML エンコード/デコード:
http://htmlentities.net/


古い答え:

encodeURI使用する前に、JavaScript 関数を使用して URI をエンコードしてみてください。

encodeURI('http://abc.com/player.js</xref>?xyz="foo"');

decodeURI必要に応じて次を使用してデコードすることもできます。

decodeURI(yourEncodedURI);

したがって、最終的にはブラウザにタグをそのまま表示させることはできないと思いますが</xref>、それを保存して ( encodeURI/decodeURIを使用して)、必要な場合はコードで使用することができます。

フィドル:
http://jsfiddle.net/rk8nR/3/

詳細:
encodeURI / encodeURIComponent の代わりにエスケープを使用するのはいつですか?

于 2013-04-10T09:40:44.377 に答える