Javascript 中对HTML编码和解码的方法

String.prototype.HTMLEncode = function() {
var temp = document.createElement ("div");
(temp.textContent != null) ? (temp.textContent = this) : (temp.innerText = this);
var output = temp.innerHTML;
temp = null;
return output;
}
String.prototype.HTMLDecode = function() {
var temp = document.createElement("div");
temp.innerHTML = this;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
上面代码转自:http://www.jb51.net/article/18396.htm

 

本人对javascript的核心技术不是太熟悉,再加上现在又在用不熟悉的EXT来编写前台页面代码,所以只得用最笨的方法,不扩展String自己写处理函数:

htmlDecode:function(str){
  var temp = document.createElement ("div");
  temp.innerHTML = str;
    var output = temp.innerText || temp.textContent;
    temp=null;
  return output;
 }

htmlEncode:function(str){
  var temp = document.createElement ("div");

  (temp.textContent != null) ? (temp.textContent = str) : (temp.innerText = str); 
  var output = temp.innerHTML;
  temp = null;
  return output; 
 }

其中用到的textContent和innerText 属性取到的内容是一样的

原因是firefox不支持innerText属性,但其提供的textContent属性和innerText具有一样的作用。所以上面的代码可以兼容IE和firefox

你可能感兴趣的:(JavaScript,html,function,null,firefox,output)