2017-02-06 5 views
1

私はメッセンジャーを作っています。メッセージのinnerHTMLの入力からテキストを単に抜けてしまったので、私のメッセージはHTMLタグを無視しません。私のコード:innerHTML属性のHTMLタグを無視するにはどうすればいいですか?

function Message(sender) { 
    ... 
    this["text"] = ""; 
    ... 
    this.addText = function (text) { 
     this["text"] = text; 
    }; 
    ... 
}; 

そして、ここで私はそれを表示:

... 
var chatMessageText = document.createElement("p"); 
chatMessageText.innerHTML = message["text"]; 
... 

私はメッセージ[ "テキスト"]でHTMLタグを無視するために何ができますか?

+1

あなたが特にHTMLを保持するために設計されたプロパティを使用しています。なぜあなたはHTMLをどうにかしたいのですか?テキストノードを使用してHTMLを入力できるようにしてはいけませんか? –

+0

@ÁlvaroGonzález私は、テキストノードを使ってこれまでに会ったことがないので、最初の会議です:)ありがとう! –

+0

あなたはそれを整理してうれしいです。ユーザーとしては、フォーラムのコメントや何かが角カッコを入力するだけで切り詰められると、私はひどく不満を感じる。 –

答えて

0

できません。 innerHTMLのポイントは、それをHTMLにしてHTMLとして解釈することです。

すべての特殊文字をエスケープすることはできますが、簡単な解決方法はを使用しないことです。innerHTML

var chatMessagePara = document.createElement("p"); 
var chatMessageText = document.createTextNode(message["text"]); 
chatMessagePara.appendChild(chatMessageText) 
+0

ありがとうございました!私はTextNodesを本当に忘れていました。 –

関連する問題