1、html alt
在IE下控件的alt属性使用赋值后,当光标称到上面时,就会显示,但FF下不行,可以借助alt,如:
IE:<a href="javascript:abort();"><img src='<c:url value="/images/logout.jpg"/>' border="0" alt="退出登录" style=" cursor:pointer"/></a>
FF:<a href="javascript:abort();" title="退出登录"><img src='<c:url value="/images/logout.jpg"/>' border="0" style=" cursor:pointer"/></a>
故要兼容IE、FF的话,就用FF这种写法,使用title属性,不要用alt
2、span innertext
IE中的获取文本方法innerText在firefox中不支持
firefox改成了contentText方法,并且在Firefox中文本中间的空白自符被无情的替换没了
解决办法:用Javascript重新定义了innerText方法,使得在Firefox中也可以使用innerText方法,并且此方法解决了firefox中空白字符的问题
Javascript 写道
<script type="text/javascript">
function isIE() {
if (window.navigator.userAgent.toString().toLowerCase().indexOf("msie") >= 1)
return true;
else
return false;
}
if (!isIE()) {
//firefox innerText define
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].innerText;
else if (childS[i].nodeType == 3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function (sText) {
this.textContent = sText;
}
);
}
</script>
function isIE() {
if (window.navigator.userAgent.toString().toLowerCase().indexOf("msie") >= 1)
return true;
else
return false;
}
if (!isIE()) {
//firefox innerText define
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].innerText;
else if (childS[i].nodeType == 3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function (sText) {
this.textContent = sText;
}
);
}
</script>