Я начал играть с SignalR, конечно, начиная с начального чат-хаба, который, я полагаю, каждый делает в какой-то момент. Я хочу изменить его так, чтобы, если пользователь вводит текст в HTML в своем сообщении, когда он отображается, он отображает отображаемый HTML как противопоставленный только строке с тегами HTML в ней.Отображение сообщения SignalR со встроенным HTML
Вот мой 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();
});
});
});
encodedMesg имеет "это < б > полужирный </б >", но вместо того, что делает его, как HTML, он просто показывает его как строка. Как я могу разрешить это отображение как HTML?
Я пробовал кодировать < как & lt; и> как & gt; но это не работало. Я также пробовал% 3C и% 3E, но они тоже не работали.
Это не работает, теперь оно отображается как [object Object] – Wizaerd
Хорошо, я понял, используя ваше предложение только .html (message), теперь мне нужно получить доступ к значению как encodedMesg [0] .innerHTML , который делает то, что я хочу, чтобы он делал. Спасибо. – Wizaerd
@Wizaerd: не стесняйтесь отмечать это как ответ, чтобы он мог потенциально помочь другим в будущем. –