日期:2014-05-17  浏览次数:20703 次

innerText innerHtml textContent兼容问题(

<!-- 正文开始 -->

IE支持innerHTML与innerText

FireFox支持innerHTML与textContent

所以在IE与FireFox中使用显示内容时,必须得先判断浏览器,然后决定使用innerText还是textContent。

<div id="mydiv"> </div>
<script type="text/javascript">
function isIE()
{
return navigator.userAgent.toLowerCase().indexOf('msie')>0;
}
function isFireFox()
{
return navigator.userAgent.toLowerCase().indexOf('firefox')>0;
}
function showTime()
{
?? var mydiv = document.getElementByIdx("mydiv");
?? if(isIE())
{
??? //mydiv.innerText="<font color='red'>"+new Date()+"</font>";
??????? mydiv.innerHTML="<font color='red'>"+new Date()+"</font>";
}
?? if(isFireFox)
{
//mydiv.textContent="<font color='red'>"+new Date()+"</font>";
??????? mydiv.innerHTML="<font color='red'>"+new Date()+"</font>";
}
}
window.setTimeout('showTime()',0);
</script>

?

还可以:

if(document.all){
document.getElementByIdx('element').innerText = "my text";
} else{
document.getElementByIdx('element').textContent = "my text";
}

?

还可以:

<mce:script type="text/javascript"><!--
?
var lBrowser = {};
lBrowser.agt = navigator.userAgent.toLowerCase();
lBrowser.isW3C = document.getElementByIdx ? true:false;
lBrowser.isIE = ((lBrowser.agt.indexOf("msie") != -1) && (lBrowser.agt.indexOf("opera") == -1) && (lBrowser.agt.indexOf("omniweb") == -1));
lBrowser.isNS6 = lBrowser.isW3C && (navigator.appName=="Netscape") ;
lBrowser.isOpera = lBrowser.agt.indexOf("opera") != -1;
lBrowser.isGecko = lBrowser.agt.indexOf("gecko") != -1;
lBrowser.ieTrueBody =function (){
? return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
};
//为Firefox下的DOM对象增加innerText属性
if(lBrowser.isNS6){ //firefox innerText define
? HTMLElement.prototype.__defineGetter__( "innerText",
? function(){
? return this.textContent;
? }
? );
? HTMLElement.prototype.__defineSetter__( "innerText",
? function(sText){
? this.textContent=sText;
? }
? );
}
alert(lBrowser.isNS6);
// --></mce:script>

?