2014-02-13 2 views
1

У меня есть одна зависимость от jQuery, которую я не хочу, и нужен безопасный для браузера метод для декодирования содержимого на стороне сервера html.vanilla js альтернатива jquery-методу для выполнения безопасного html-декодирования?

Эффект я иду, чтобы заменить существующий элемент DOM с HTML, который получает декодируется, по следующим направлениям:

$('#targetId').replaceWith($('<div/>').html(value).text()); 

где value содержит строку HTML-кодирования.

Альтернативно, более прямой подход также будет приветствоваться.

+0

возможно дубликат [Как расшифровать HTML объекты с помощью JQuery?] (Http://stackoverflow.com/questions/1147359/how-to-decode-html-entities-using- jquery) – kapa

+3

@kapa - не дубликат. OP просит сделать это без jquery. – mayabelle

+1

@ майябель Да, не заметил. Сожалею. В этом случае: http://css-tricks.com/snippets/javascript/unescape-html-in-js/ – kapa

ответ

1

Вот один из способов сделать это:

function DecodeHtmlString(htmlString){ 
    var temp = document.createElement("textarea"); 
    temp.innerHTML = htmlString; 
    return temp.value; 
} 
1

Реальный мировой альтернативы. Я смешиваю некоторые PHP, потому что причины.

var Lang = Lang || new Object(); 
 

 
Lang._t = function(str) { 
 
    var buf = []; 
 

 
    for (var i=str.length-1;i>=0;i--) { 
 
     buf.unshift(['&#', str[i].charCodeAt(), ';'].join('')); 
 
    } 
 

 
    return buf.join(''); 
 
}, 
 

 

 
Lang.same_password = Lang._t(<?php echo json_encode($langtextos->same_password); ?>); 
 

 

 
function foo(pass1, pass2){ 
 
    if(pass1 == pass2){ 
 
     message.innerHTML = Lang.same_pass; 
 
     return false; 
 
    } 
 
     
 
    return true; 
 
}

Смежные вопросы