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

IE中的获取文本方法innerText在firefox中不支持
firefox改成了textContent方法/属性

并且在Firefox中文本中间的空白自符被无情的替换没了
使用起来异常不方便
现在好了,用Javascript重新定义了innerText方法
使得在Firefox中也可以使用innerText方法
并且此方法解决了firefox中空白字符的问题

使用方法:
将下面的脚本放在页面内
不管ie还是firefox都可以使用obj.innerText提取文本了


代码如下:

<script language=”javascript”>
function isIE(){ //ie?
if (window.navigator.userAgent.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].textContent;
else if(childS[i].nodeType==3)
anyString += childS[i].nodeValue;
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__( “innerText”,
function(sText){
this.textContent=sText;
}
);
}
</script>

(0)

相关推荐

  • 让FireFox支持innerText的实现代码

    为firefox实现innerText属性很多代码写了又忘忘了又写,很浪费,所以决定养成做笔记的习惯. 知识点: 0.为什么要innerText?因为安全问题 1.为firefox dom模型扩展属性 2.currentStyle属性可以取得实际的style状态 3.IE实现innerText时考虑了display方式,如果是block则加换行 4.为什么不用textContent?因为textContent没有考虑元素的display方式,所以不完全与IE兼容 复制代码 代码如下: <html

  • textContent在Firefox下与innerText等效的属性

    在IE和Opear下,DOM对象支持innerText属性,可以很方便的去除HTML标签. 但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效. 演示实例: <p id="TestObj">Hi,I'm <strong>cnlei</strong>.Welcome to my homepage:<a href="http://www.cnlei.com">h

  • firefox浏览器不支持innerText的解决方法

    js代码: 复制代码 代码如下: <script> window.onload = function(){ <PRE class=javascript name="code">if(window.navigator.userAgent.toLowerCase().indexOf("msie")==0){ //firefox innerText HTMLElement.prototype.__defineGetter__( "inne

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

    IE中的获取文本方法innerText在firefox中不支持 firefox改成了textContent方法/属性 并且在Firefox中文本中间的空白自符被无情的替换没了 使用起来异常不方便 现在好了,用Javascript重新定义了innerText方法 使得在Firefox中也可以使用innerText方法 并且此方法解决了firefox中空白字符的问题 使用方法: 将下面的脚本放在页面内 不管ie还是firefox都可以使用obj.innerText提取文本了 复制代码 代码如下: <

  • firefox(火狐)和ie浏览器禁止右键和禁止复制的代码

    我们 我们 我们是一个专业的收集各类脚本学习资料的网站,尽量修正错误打造精品脚本类学习网站,我们为大家游戏脚本资源,源码,软件,asp,php,javascript等编程资料,是网页制作,网络编程,网站建设人士的聚集场所. [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • 页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)

    1.页面缩放用到的技术点 (1)zoom zoom:normal | <number> | <percentage> 默认值:normal 适用于:所有元素 继承性:有 可以使用用浮点数和百分比来定义缩放比例. zoom的浏览器兼容性:http://caniuse.com/#search=zoom zoom的兼容性:firefox 全系列不支持. (2)transform transform:scale(1.1,1.1); scale(x,y) 定义 2D 缩放转换. 兼容性:ht

  • Ajax请求过程中下载文件在FireFox(火狐)浏览器下的兼容问题

    需求很简单,点击一个文件链接下载该文件,同时向后台发送请求.需求很常见,用户点击下载后通常要进行下载量的统计,统计的话可以利用 script标签 或者 img标签(图片ping) 的跨域能力,将它们的 src 属性指向统计地址,但是这次用了 ajax 进行统计,遂出现了这个问题. demo 代码如下: <a id="a" href="http://c758482.r82.cf2.rackcdn.com/Sublime Text 2.0.2 x64 Setup.exe&q

  • 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子

    1. document.formName.item("itemName") 问题 说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"]; Firefox下,只能使用document.formName.elements["elementName"]. 解决方法:统一使用document.formName.el

  • JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结

    1.兼容firefox的 outerHTML,FF中没有outerHtml的方法. 复制代码 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML) { var r=this.ownerDocument.createRange(); r.setStartBefore(this); var df=r.createContextualFragment

  • 兼容IE与firefox火狐的回车事件(js与jquery)

    javascript 兼容IE与firefox火狐的回车事件 复制代码 代码如下: <script language="javascript"> function keypress(e) { var currKey=0,e=e||event; if(e.keyCode==13)document.myform.submit(); } document.onkeypress=keypress; </script> 复制代码 代码如下: <script>

  • JavaScript判断浏览器和hack滚动条的写法

    判断各大浏览器内核: var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") >

  • IE,firefox(火狐)浏览器无提示关闭窗口js实现代码小结

    经我们编辑整合的版本: 注意 如果你使用的是firefox浏览器必须要做以下设置 1.在地址栏输入about:config然后回车,警告确认 2.在过滤器中输入"dom.allow_scripts_to_close_windows",双击即可将此值设为true 即可完成了. js关闭窗口兼容firefox.chrome.ie 复制代码 代码如下: function windowclose() { var browserName = navigator.appName; if (brow

  • firefox火狐浏览器与与ie兼容的2个问题总结

    1:rules与cssRules区别: 复制代码 代码如下: function addCSSRule(css,key,value){ //var css = document.styleSheets[document.styleSheets.length-1]; if(navigator.userAgent.indexOf("Firefox")>0 ) { css.insertRule(key+"{"+value+"}", css.cssR

随机推荐