Ich habe angefangen, mit SignalR herumzuspielen, natürlich beginnend mit dem anfänglichen Chat-Hub, von dem ich denke, dass jeder es irgendwann tut. Ich möchte es so ändern, dass, wenn der Benutzer HTML in ihre Nachricht eingibt, wenn es angezeigt wird, es gerenderten HTML als Gegensatz nur zu der Zeichenfolge mit HTML-Tags darin angezeigt wird.Anzeige SignalR Nachricht mit eingebettetem HTML
Hier ist mein javascript:
<script type="text/javascript">
$(function() {
var chat = $.connection.chatHub;
chat.client.broadcastMessage = function (name, message) {
var encodedName = $('<div />').text(name).html();
var encodedMesg = $('<div />').text(message).html();
if (message === "joined session") {
$('#discussion').append('<li><strong>' + encodedName + ' ' + encodedMesg + '</strong></li>');
} else {
$('#discussion').append('<li><strong>' + encodedName + '</strong>:  ' + encodedMesg + '</li>');
}
};
$('#message').focus();
$.connection.hub.start().done(function() {
chat.server.send("@FullName", "joined session");
$('#sendmessage').click(function() {
chat.server.send("@FullName", $('#message').val());
$('#message').val("").focus();
});
});
});
Die encodedMesg hat "diese <b> fett </b > ist", sondern es als HTML-Darstellung, zeigt es nur als ein Zeichenfolge. Wie kann ich das als HTML rendern lassen?
Ich habe versucht, die < als & lt codieren; und> als & gt; aber das hat nicht funktioniert. Ich habe auch% 3C und% 3E versucht, aber sie haben auch nicht funktioniert.
Das funktioniert nicht, es zeigt jetzt als [Objekt Objekt] – Wizaerd
Ok, ich habe es herausgefunden, mit Ihrem Vorschlag von nur .html (Nachricht), muss ich jetzt auf den Wert als codedMesg [0] .innerHTML zugreifen , was macht, was ich will. Vielen Dank. – Wizaerd
@Wizaerd: Fühlen Sie sich frei, dies als die Antwort zu markieren, so dass es potentiell anderen in der Zukunft helfen kann. –