`

让FireFox(火狐)支持InnerText属性

阅读更多

只需要在页面加载的时候加入下面的代码

// 让火狐支持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的解决方法

    然而,Firefox浏览器却并不支持innerText属性,而是使用textContent来达到相同的效果。在这种情况下,如果你的代码依赖于innerText,那么在Firefox上运行时可能会出现问题。 为了解决Firefox不支持innerText的问题...

    让FireFox支持innerText的实现代码

    为了让Firefox支持innerText属性,我们可以编写一段JavaScript代码来模拟其行为。以下是一个实现innerText功能的示例: ```javascript (function (bool) { function setInnerText(o, s) { while (o.childNodes....

    Javascript的IE和Firefox(火狐)兼容性

    **问题描述**:IE浏览器支持`innerText`属性来获取和修改元素的文本内容,而Firefox等现代浏览器则使用`textContent`。此外,IE还支持`innerHTML`,但在某些情况下不支持`innerText`。 **解决方案**: - 使用`...

    浏览器兼容性问题收集(IE,Firefox,Chrome,Safri)

    Firefox 不支持 innerText 属性,而是支持 textContent 属性来实现 innerText 的功能。开发者可以使用 textContent 属性来代替 innerText 属性。 2. 禁止选取网页内容 在 IE 中,可以使用 js 代码 `obj....

    让innerText在firefox火狐和IE浏览器都能用的写法

    接着,如果当前浏览器不是IE(即Firefox或其他非IE浏览器),我们需要定义innerText属性。这里我们使用了JavaScript的__defineGetter__和__defineSetter__方法来实现这一目标: ```javascript if (!isIE()) { // ...

    textContent在Firefox下与innerText等效的属性

    但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效。 演示实例: ”TestObj”&gt;Hi,I’m &lt;strong&gt;cnlei&lt;/strong&gt;.Welcome to my homepage:&lt;a&gt;http://www.cnlei.com&lt;/a&gt;.&lt;/p&gt; ...

    js在IE与firefox的差异集锦

    Firefox浏览器不支持innerText属性,而支持textContent属性。在使用innerText时,Firefox会保留字符串中的所有空格,而textContent则不会。如果不需要保留空格,可以通过textContent来实现innerText的功能。如果字符...

    Firefox浏览器兼容JS脚本供参考

    Firefox不支持innerText属性,但它有textContent属性。为了在Firefox中模拟innerText的行为,可以通过`__defineGetter__`和`__defineSetter__`方法为HTMLElement原型添加getter和setter,使其在Firefox中表现得像...

    js在IE和fireFox的区别

    - **Firefox**:仅支持`document.getElementById`。 - 示例:`document.getElementById('elementId')` 2. **当只有一个name属性没有ID时**: - **IE**:返回一个集合,可以通过索引访问。 - **Firefox**:返回`...

    Firefox浏览器兼容JS脚本

    在处理DOM元素的文本内容时,Firefox不支持`innerText`属性,而IE支持。为了统一处理方式,可以通过以下代码为Firefox定义一个兼容的`innerText`属性。 ```javascript // Firefox HTMLElement.prototype.__...

    javascript在IE和Firefox中兼容性问题

    IE支持`innerText`属性来获取或设置元素的文本内容,而Firefox则使用`textContent`。为了兼容性,通常需要同时使用这两个属性。 5. **getElementsByName测试.html 和 getElementById测试.html** `...

    IE和Firefox差异参考大全

    6. CSS3属性:Firefox通常对新CSS3属性支持更早,如`border-radius`、`box-shadow`等,IE则需要添加特定前缀或使用旧版本语法。 二、JavaScript差异 1. `event`对象:IE和Firefox的事件处理函数中,传递的event...

    Javascript在IE和FireFox中的兼容处理

    - IE支持`for...in`循环遍历数组,但会包括数组原型上的属性,而Firefox则不会。为保持一致,可以使用`Array.prototype.forEach`或索引访问。 - IE6-8没有提供`Array.prototype.indexOf`,可以自定义函数实现。 2...

    firefox和IE系列的相关区别整理 以备后用

    - 在IE中,`innerText`用于获取或设置元素的文本内容,但Firefox不支持`innerText`,它使用`textContent`,但`textContent`会保留所有空白字符。 - 如果只需要文本内容且不关心空白,`innerHTML`在IE和Firefox中都...

Global site tag (gtag.js) - Google Analytics