私がしたいことは、ユーザーが文字列を入力してからdiv
要素内のWebページにその文字列を表示できるようにすることですが、ユーザーが太字のタグなどを追加することはできませんHTMLテキストは太字になります。テキストがHTMLタグを持っている場合、ユーザーが入力したテキストがHTMLコードに変換されないように、どうすればいいですか?HTMLコードを実行しないようにするにはどうすればよいですか?
答えて
ここに信頼されていないテキストをサニタイズするために小ぎれいな機能です:
function sanitize(ht){ // tested in ff, ch, ie9+
return new Option(ht).innerHTML;
}
たとえば入力/出力:
sanitize(" Hello <img src=data:image/png, onmouseover=alert(666) onerror=alert(666)> World");
// == " Hello <img src=data:image/png, onmouseover=alert(666) onerror=alert(666)> World"
それは設定と同じ結果が得られますelm.textContent=str;
ですが、機能としては、あなたはきれいな入力をすることができるように、あなたはsanitize()の後でmarkdownを実行するように、インラインで簡単に使うことができます(例: URLをリンクする)。
createTextNode(value)を使用してinnerHTMLの代わりに要素(標準ソリューション)またはinnerText(非標準ソリューション)に追加します。
JQueryソリューションについては、Dan Weberの答えをご覧ください。
[OK]を、私はそれをしようとします!回答ありがとう: –
可能であれば、すべてのブラウザがinnerTextをサポートしているわけではなく、$ .text()を使用していることに注意してください。 – dandavis
注目。ありがとうダンダビス! –
.HTMLではなくdivにテキストを設定するときに.text()を使用します。これはHTMLの代わりにテキストとしてレンダリングします。
$(document).ready(function() {
// Handler for .ready() called.
$("#change-it").click(function() {
var userLink = $('#usr-input').val().replace(/.*?:\/\//g, "");
$('#users-text').text(userLink);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="form-control" id="usr-input">
<br>
<button id="change-it" type="button">Update Text</button>
<br>
<div id="users-text"></div>
.text()
を使用しないのはなぜですか?
$('#in').on('keyup', function(e) {
$('#out').text($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="in">
<br>
<div id="out"></div>
- 1. htmlでカウントダウンタイマーを実行するにはどうすればよいですか?
- 2. 実行時にASP.NETコードをHTMLに変換するにはどうすればよいですか?
- 3. 実行時にオートコンプリートのHTMLコードを動的に変更するにはどうすればよいですか?
- 4. this.form.reset()がフォームアクションを実行しないようにするにはどうすればよいですか?
- 5. デプロイ中にテストが実行されないようにするにはどうすればよいですか?
- 6. GrailsがIntellijで実行されないようにするにはどうすればよいですか?
- 7. iframeでfocus()が実行されないようにするにはどうすればよいですか?
- 8. 実行タイムアウトエラーメッセージが表示されないようにするにはどうすればよいですか?
- 9. HTMLで動作するようにCSSコードを修正するにはどうすればよいですか?
- 10. Enterキーでhtmlテキストボックスを更新しないようにするにはどうすればよいですか?
- 11. Javaカスタムタグハンドラでhtmlを生成しないようにするにはどうすればよいですか?
- 12. rootがgit pullを実行しないようにするにはどうすればいいですか?
- 13. ハイブ、ImpalaのようなclouderaサービスがJavaコードで実行されているかどうかを確認するにはどうすればよいですか?
- 14. HTML/CSS/JSコードを実行するにはどうすればよいですか?
- 15. コード内でバリデータを検証しないようにするにはどうすればよいですか?
- 16. ブラウザが履歴のHTMLをキャッシュしないようにするにはどうすればよいですか?
- 17. ASP.NET TextBoxのコンテンツをHTMLエンコードしないようにするにはどうすればよいですか?
- 18. 301コードがウェブサイトをリダイレクトしないようにするにはどうすればよいですか?
- 19. Wordpressのビジュアルエディタのコードを変更しないようにするにはどうすればよいですか?
- 20. DoctypeがHTMLに追加されないようにするにはどうすればよいですか?
- 21. HTMLページがプログレッシブレンダリングを利用できないようにするにはどうすればよいですか?
- 22. 実行中にスペースを読み取れるようにするにはどうすればよいですか?
- 23. 構造化されていないHTMLコードを解析するにはどうすればよいですか?
- 24. TextBoxに行を追加/削除しないようにするにはどうすればよいですか?
- 25. HTMLタグがエスケープされないようにするにはどうすればよいですか?
- 26. MySQLで重複行を挿入しないようにするにはどうすればよいですか?
- 27. HTMLタグが実行されないようにするHTMLタグ?
- 28. LinqがGUIDを追加しないようにして、SQL Serverで実行できるようにするにはどうすればよいですか?
- 29. xamlでコードを繰り返さないようにするにはどうすればよいですか?
- 30. ボタンをクリックするたびにコードが頻繁に実行されないようにするにはどうすればよいですか?
非常に創造的、私はそれが好きです。ありがとうございました:) –
これは、htmlのどこにでも挿入できるので、これが最適です。ありがとうございました。 –