JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016-06-24 10:27
1056 查看
本文实例讲述了JS实现iframe编辑器光标位置插入内容的方法。分享给大家供大家参考,具体如下:
<html> <iframe id="x" name="x"></iframe> <input type="button" onclick="t()" value="test"> <input type="button" onclick="frames['x'].location.href='about:blank';" value="clear"> <script> //setTimeout('window.frames["x"].document.designMode="On"',200); function t(){ window.frames["x"].document.designMode="On"; var html = '<b style="color:red">'+$('xx').value+'</b>';//插入的内容(html),可以是图片。 if(getBrowser()=='ie'){ var Editor = window.frames["x"];//IE获取iframe方法,否则图片位置跑到页面顶上去了。 Editor.focus(); o=Editor.document.selection.createRange(); o.pasteHTML(html); }else if(getBrowser()=='chrome'){ var Editor = $('x');//firefox要通过这种方式获取节点才行 Editor.focus(); //alert(Editor.contentWindow.getSelection().getRangeAt(0)); var rng = Editor.contentWindow.getSelection().getRangeAt(0); var frg = rng.createContextualFragment(html); rng.insertNode(frg); } } //获取浏览器版本 function getBrowser(){ var agentValue = window.navigator.userAgent.toLowerCase(); if(agentValue.indexOf('msie')>0){ return "ie"; }else if(agentValue.indexOf('firefox')>0){ return "ff"; }else if(agentValue.indexOf('chrome')>0){ return "chrome"; } } function $(id){ return document.getElementById(id); } //根据元素className属性获取元素,如果有多个元素样式类名相同,可以用index指定返回第几个元素,第一个为1 function getNodeByClassName(vclassname,index){ //var allnodes = document.all; var allnodes = document.getElementsByTagName("*"); var x = 0; for(var i=0;i<allnodes.length;i++){ if(allnodes[i].className==vclassname){ if(index!="undefined"){ x++; if(x<index){ continue; } } return allnodes[i]; } } } </script> 输入: <input id="xx">
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- JQuery与iframe交互实现代码
- 用expression的一行代码解决iframe挂马的问题
- 用jquery修复在iframe下的页面锚点失效问题
- Firefox返回时Iframe的显示Bug的解决方法
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值