香草JS替代jQuery方法执行安全的HTML解码



我有一个我不想要的对jQuery的依赖,并且需要一个浏览器安全的方法来解码服务器端html编码的内容。

我要达到的效果是将现有的 DOM 元素替换为解码的 html,如下所示:

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

其中value包含 HTML 编码的字符串。

或者,也欢迎采取更直接的办法。

这里有一种方法可以做到这一点:

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

现实世界的替代品。我混合了一些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;
}

最新更新