只需要在页面加载的时候加入下面的代码
// 让火狐支持innerText
(function(bool) {
function setInnerText(o, s) {
while (o.childNodes.length != 0) {
o.removeChild(o.childNodes[0]);
}
o.appendChild(document.createTextNode(s));
}
function getInnerText(o) {
var sRet = "";
for ( var i = 0; i < o.childNodes.length; i++) {
if (o.childNodes[i].childNodes.length != 0) {
sRet += getInnerText(o.childNodes[i]);
}
if (o.childNodes[i].nodeValue) {
if (o.currentStyle.display == "block") {
sRet += o.childNodes[i].nodeValue + "\n";
} else {
sRet += o.childNodes[i].nodeValue;
}
}
}
return sRet;
}
if (bool) {
HTMLElement.prototype.__defineGetter__("currentStyle", function() {
return this.ownerDocument.defaultView.getComputedStyle(this, null);
});
HTMLElement.prototype.__defineGetter__("innerText", function() {
return getInnerText(this);
});
HTMLElement.prototype.__defineSetter__("innerText", function(s) {
setInnerText(this, s);
});
}
})(/Firefox/.test(window.navigator.userAgent));
分享到:
相关推荐
然而,Firefox浏览器却并不支持innerText属性,而是使用textContent来达到相同的效果。在这种情况下,如果你的代码依赖于innerText,那么在Firefox上运行时可能会出现问题。 为了解决Firefox不支持innerText的问题...
为了让Firefox支持innerText属性,我们可以编写一段JavaScript代码来模拟其行为。以下是一个实现innerText功能的示例: ```javascript (function (bool) { function setInnerText(o, s) { while (o.childNodes....
**问题描述**:IE浏览器支持`innerText`属性来获取和修改元素的文本内容,而Firefox等现代浏览器则使用`textContent`。此外,IE还支持`innerHTML`,但在某些情况下不支持`innerText`。 **解决方案**: - 使用`...
Firefox 不支持 innerText 属性,而是支持 textContent 属性来实现 innerText 的功能。开发者可以使用 textContent 属性来代替 innerText 属性。 2. 禁止选取网页内容 在 IE 中,可以使用 js 代码 `obj....
接着,如果当前浏览器不是IE(即Firefox或其他非IE浏览器),我们需要定义innerText属性。这里我们使用了JavaScript的__defineGetter__和__defineSetter__方法来实现这一目标: ```javascript if (!isIE()) { // ...
但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效。 演示实例: ”TestObj”>Hi,I’m <strong>cnlei</strong>.Welcome to my homepage:<a>http://www.cnlei.com</a>.</p> ...
Firefox浏览器不支持innerText属性,而支持textContent属性。在使用innerText时,Firefox会保留字符串中的所有空格,而textContent则不会。如果不需要保留空格,可以通过textContent来实现innerText的功能。如果字符...
Firefox不支持innerText属性,但它有textContent属性。为了在Firefox中模拟innerText的行为,可以通过`__defineGetter__`和`__defineSetter__`方法为HTMLElement原型添加getter和setter,使其在Firefox中表现得像...
- **Firefox**:仅支持`document.getElementById`。 - 示例:`document.getElementById('elementId')` 2. **当只有一个name属性没有ID时**: - **IE**:返回一个集合,可以通过索引访问。 - **Firefox**:返回`...
在处理DOM元素的文本内容时,Firefox不支持`innerText`属性,而IE支持。为了统一处理方式,可以通过以下代码为Firefox定义一个兼容的`innerText`属性。 ```javascript // Firefox HTMLElement.prototype.__...
IE支持`innerText`属性来获取或设置元素的文本内容,而Firefox则使用`textContent`。为了兼容性,通常需要同时使用这两个属性。 5. **getElementsByName测试.html 和 getElementById测试.html** `...
6. CSS3属性:Firefox通常对新CSS3属性支持更早,如`border-radius`、`box-shadow`等,IE则需要添加特定前缀或使用旧版本语法。 二、JavaScript差异 1. `event`对象:IE和Firefox的事件处理函数中,传递的event...
- IE支持`for...in`循环遍历数组,但会包括数组原型上的属性,而Firefox则不会。为保持一致,可以使用`Array.prototype.forEach`或索引访问。 - IE6-8没有提供`Array.prototype.indexOf`,可以自定义函数实现。 2...
- 在IE中,`innerText`用于获取或设置元素的文本内容,但Firefox不支持`innerText`,它使用`textContent`,但`textContent`会保留所有空白字符。 - 如果只需要文本内容且不关心空白,`innerHTML`在IE和Firefox中都...