javascript相容火狐等各瀏覽器的innerText屬性程式碼

antzone發表於2017-03-29

關於innerText屬性的基本用法可以參閱javascript innerText屬性用法一章節。

因為存在相容問題,下面就通過程式碼例項介紹一下如何模擬實現各個瀏覽器的相容效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
#antzone{
  width:300px;
  height:100px;
  text-align:center;
  line-height:100px;
  background-color:#CCC;
}
</style>
<script type="text/javascript"> 
function isIE(){
  if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1){
    return true; 
  } 
  else{
    return false; 
  }
} 
if(!isIE()){
  HTMLElement.prototype.__defineGetter__( "innerText", function(){ 
    var anyString = ""; 
    var childS = this.childNodes; 
    for(var i=0; i<childS.length; i++) { 
      if(childS[i].nodeType==1){
        anyString += childS[i].tagName == "BR" ? '\n' : childS[i].textContent;
      }    
      else if(childS[i].nodeType==3){
        anyString += childS[i].nodeValue; 
      }
    } 
    return anyString; 
  }); 
  HTMLElement.prototype.__defineSetter__( "innerText", function(sText){ 
    this.textContent=sText; 
  }); 
} 
window.onload=function(){
  var odiv=document.getElementById("antzone");
  var obt=document.getElementById("bt");
  obt.onclick=function(){
    odiv.innerText="<strong>螞蟻部落</strong>";
  }
}
</script> 
</head>
<body>
<div id="antzone"></div>
<input type="button" id="bt" value="檢視效果"/>
</body>
</html>

上面的程式碼實現了相容各個瀏覽器的效果,直接套用就可以了。

相關文章