JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)

 更新时间:2016年06月24日 10:27:07   作者:yiluoAK_47  
这篇文章主要介绍了JS实现iframe编辑器光标位置插入内容的方法,可实现文本与图片的插入功能,并兼容IE和Firefox浏览器,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • JS实现文字链接感应鼠标淡入淡出改变颜色的方法

    JS实现文字链接感应鼠标淡入淡出改变颜色的方法

    这篇文章主要介绍了JS实现文字链接感应鼠标淡入淡出改变颜色的方法,实例分析了javascript操作鼠标事件及css样式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Knockout自定义绑定创建方法

    Knockout自定义绑定创建方法

    这篇文章主要介绍了Knockout自定义绑定创建方法的相关资料,需要的朋友可以参考下
    2015-12-12
  • 一文带你深入理解JavaScript模板引擎

    一文带你深入理解JavaScript模板引擎

    在Web前端开发中,需要将数据动态渲染到页面上,随着应用程序的复杂度增加,数据渲染的逻辑也变得越来越复杂,这时候就需要使用模板引擎来帮助我们动态生成HTML标记,本文将深入介绍 JavaScript 模板引擎,帮助读者更好地理解和应用模板引擎
    2023-06-06
  • 微信小程序实现的3d轮播图效果示例【基于swiper组件】

    微信小程序实现的3d轮播图效果示例【基于swiper组件】

    这篇文章主要介绍了微信小程序实现的3d轮播图效果,结合实例形式分析了微信小程序基于swiper组件相关属性设置、事件响应操作技巧,需要的朋友可以参考下
    2018-12-12
  • JS Thunk 函数的含义和用法实例总结

    JS Thunk 函数的含义和用法实例总结

    这篇文章主要介绍了JS Thunk 函数的含义和用法,结合实例形式总结分析了JS Thunk 函数的具体含义、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Javascript Worker子线程代码实例

    Javascript Worker子线程代码实例

    这篇文章主要介绍了Javascript Worker子线程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 详解JavaScript中精度失准问题及解决方法

    详解JavaScript中精度失准问题及解决方法

    这篇文章主要介绍了JavaScript中精度失准问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • js实现添加删除表格操作

    js实现添加删除表格操作

    这篇文章主要为大家详细介绍了js实现添加删除表格操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • JavaScript Tab菜单实现过程解析

    JavaScript Tab菜单实现过程解析

    这篇文章主要介绍了JavaScript Tab菜单实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 前端使用crypto.js进行加密的函数代码

    前端使用crypto.js进行加密的函数代码

    最近在使用Cookies加密保存数据的时候,接触到crypto,使用还算简单,在这里记录一下
    2020-08-08

最新评论