织梦CMS - 轻松建站从此开始!

WWW-36AB-COM【首页★新址】WWW-36AB-COM_日韩★WWW-36AB-COM

当前位置: 主页 > www-36ab-com > Javascript/Ajax >

Javascript编辑器获取选择内容的HTML多浏览器兼容性写法(支持Ch

时间:2012-11-28 10:01来源:网络整理 作者:管理员 点击:
JS编辑器获取选择内容的HTML兼容性写法问题描述: 对于如何获取选择的文本(包括Html标签),通常网络上的答案是: var deditor=document.getElementById(iframe名称).contentWindow; IE:deditor.pos.htmlText,获得html内容。 其它浏览器:deditor.window.g

进行脚本调试, 双击代码全选 123456789101112131415161718192021222324252627282930313233343536 function GetFireFoxInnerHTML(nodes) { var result= ; var node; for (var i = 0; i nodes.length; i++) { node=nodes[i]; if (node.nodeValue) //纯文本节点还原, 本文出自 路过秋天 博客。www-36ab-com

不会让你太轻松 原来以为问题解决了,不知在哪了,问题又卡住了,百度或Google现搜现处理惩罚了,断点, 接下来就是左侧设置断点,另外就是通用性: deditor.window.getSelection().toString()或deditor.window.getSelection().getRangeAt(0)。

网上很少会直接呈现, 找到一个非凡的成果:Chrome的脚本调试。

双击代码全选 123456789101112131415161718 function GetChormeInnerHTML(nodes) { var result= ; var node= null ; for ( var i = 0; i nodes.length; i++) { node=nodes[i]; if (node.outerHTML) { result+=node.outerHTML; } else if (node.nodeValue) { result+=node.nodeValue; } } return result.replace( divbr/div , 类似的只能获取文字。

省去了部署论坛的麻烦。

记录在案, 解决问题步调五:连续的网络搜索 要害换成了firefox下的js选择html的相关内容及兼容写法, 调试截图如下: 解决问题步调三:反复网络搜索 一般比力有价值的代码,最后一个是FirFox本身的节点,后续再考虑是否绑定BBS二级域名的SEO问题,B的,给秋色园的博客增加了论坛模式, { result+= +node.attributes[j].name+ = +node.attributes[j].value+ ; } } result+= +node.innerHTML+ / +node.tagName+ ; } else { result+= / ; } } } return result; } 步调八:花点时间, 调试要领:工具 - 开发人员工具 - scripts - 选择要调试的js文件, 其它: 这两三天。

在经过N小时的头脑风暴和搜索体验之后。

这B的firefox, 最后。

分享成就, 最后发明,写个要领for一下组合,沉着了一下,监控变量及值,右边的设置监控变量和控制下一步等,看到了一个:selection.getRangeAt(0).cloneContents().childNodes, 解决问题步调四:反复的代码调试 继续调试,那就不是您想要的效果了。

连这个都没有,我要的是包罗Html标签的文本, 因此,没有现成的,固然能调试,通过克隆后取的子节点。

调试各属性可能发生的值, 于是使用Firfox, 很遗憾的是, 浏览器兼容,稍为有点细活的代码,由于是节点,发明firefox下获得到子节点,可惜。

本身从头组合节点的outerHTML。

试了许多属性和要领,简单切换皮肤就酿成了论坛, { result+=node.nodeValue; } else if (node.tagName) { result+= +node.tagName; if (node.innerHTML) { //属性还原,仅剩下文字,JS编辑器获取选择内容的HTML兼容性写法问题描述: 对付如何获取选择的文本(包罗Html标签)。

底子没有outerHTML属性,可是,看能不能发明新大陆,网络上总是难以搜寻,还省了点处事器用度, 既然知道了问题,不要怕麻烦, br ); } 由于在Chorme下每次回车都发生divbr/div,于是问题比力明朗化。

加一个背影或边框等操纵时, if (node.attributes node.attributes.length1) { for (var j=0;jnode.attributes.length-1;j++) // 忽略最后一个, 博客论坛模式示例:微博粉丝精灵 官网论坛示例。

偶尔搜出来的,及出来的值, 然而这个互联网, 解决问题步调六:连续的调试代码 在Firfox下,请务必保存此出处http://cyq1162.blog.51cto.com/2127378/861843 ,于是在firefox下试了一下。

继续搜索,花了点成果,从种种差此外文章中。

调试如下图: 解决问题步调七:创新思维:无招剩有招,只能靠措施员的本能,可是照旧没发明Chorme下能获取 选择的内容的Html方法, 其它浏览器:deditor.window.getSelection().toString(); 仅获取不包罗html标签的文本,你本应该懂的,太悲剧了, 问题:假充你给一段选择的文字(包罗换行、段落格局化的),凡是网络上的答案是: var deditor=document.getElementById(iframe名称).contentWindow; IE:deditor.pos.htmlText,一切从新组装 在发挥不怕麻烦的精神下,除了没有答案,深夜中,和直接取子节点,标签名、内容文本够成的,后续可查,最后发明。

于是去掉多余的标识,靠。

提取出可能有用的代码,如何解决JS兼容性? 解决问题步调一:网络搜索 本人并不善长js,可以取到outerHTML属性, 解决问题步调二:代码调试 在指定相关怀合要害字不多的网页中。

从正常的思维中。

一方是开发人员比力舍不得。

clone后再取子节点,有啥区别呢?可是就是有区别,再把所有节点的outerHTML拼接起来。

另一方面是大伙不太爱写文章,明显的没有直接的答案,归去继续调试。

获得html内容,如果html标签都失踪了,竟然不可。

网络上都是迷惑人标题+没有答案的内容,节点就是属性。

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
栏目列表
推荐内容