Range,这是个很容易被人忽略的东西,在开发富文本编辑器时会经常用到。使用iframe设计模式或div的 contenteditable=“true” 。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div id="div" contenteditable="true" style="width:300px;height:100px;border:1px solid #000"><br /></div> <input type="button" value="插入" onclick="test('测试一下')" onfocus="this.blur()" /> <script type="text/javascript"> function test(str){ if(!document.all){ alert("仅在IE中可以查看"); return; } document.getElementById('div').focus(); var selection= window.getSelection ? window.getSelection() : document.selection; var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0); range.pasteHTML(str); range.collapse(false); range.select(); } </script> </body> </html> 提示:您可以先修改部分代码再运行
<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div id="div" contenteditable="true" style="width:300px;height:100px;border:1px solid #000"><br /></div> <input type="button" value="插入" onclick="test('测试一下')" onfocus="this.blur()" /> <script type="text/javascript"> function test(str){ var selection= window.getSelection ? window.getSelection() : document.selection; var range= selection.createRange ? selection.createRange() : selection.getRangeAt(0); if (!window.getSelection){alert("请在支持w3c标准的浏览器查看")} else{ document.getElementById('div').focus(); range.collapse(false); var hasR = range.createContextualFragment(str); var hasR_lastChild = hasR.lastChild; while (hasR_lastChild && hasR_lastChild.nodeName.toLowerCase() == "br" && hasR_lastChild.previousSibling && hasR_lastChild.previousSibling.nodeName.toLowerCase() == "br") { var e = hasR_lastChild; hasR_lastChild = hasR_lastChild.previousSibling; hasR.removeChild(e) } range.insertNode(hasR); if (hasR_lastChild) { range.setEndAfter(hasR_lastChild); range.setStartAfter(hasR_lastChild) } selection.removeAllRanges(); selection.addRange(range) } } </script> </body> </html>
提示:您可以先修改部分代码再运行 |
- 浏览: 565255 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
发表评论
-
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2014-12-09 10:33 786原文地址:http://www.techo ... -
241个jquery插件—jquery插件大全
2014-12-09 10:26 802原文地址:http://blog.csdn.net/adsda ... -
前端ui的js框架
2014-09-04 16:45 594原文地址:http://www.quickui.net/v3/ ... -
2014 年最火的21个JavaScript框架
2014-09-03 17:25 478原文地址:http://www.iteye.com/news/ ... -
Bootstrap 栅格系统
2014-08-08 15:53 518原文地址:http://www.cnblogs.com/lin ... -
自定义Bootstrap
2014-08-08 10:14 686原文地址:http://www.w3cplus.com/css ... -
使用python/casperjs编写终极爬虫-客户端App的抓取
2014-08-06 18:09 9551.缘起 随着移动互 ... -
使用Selenium和PhantomJS解析带JS的网页
2014-08-06 17:57 1048有的网页,不能直接通过wget/curl等命令、或者直接使用P ... -
数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置
2014-08-06 17:56 621原文地址:http://blog.chin ... -
ubuntu12.04 下安装nodejs【整理】
2014-06-12 14:38 734ubuntu12.04 下安装nodejs【整理】 作者:杭州 ... -
Ubuntu安装nodeJS
2014-06-12 14:38 513Ubuntu安装nodeJS 安装环境 ubuntu12. ... -
纯js页面跳转整理
2014-05-20 18:06 527纯js页面跳转整理 js页面跳转 js方式的页面跳转 1. ... -
细说Cookie
2013-09-29 15:14 650细说Cookie 阅读目录 开始 ... -
JavaScript Source Map 详解
2013-08-30 09:49 808JavaScript Source Map 详解 ... -
主题:50个令人惊奇的jQuery插件
2013-05-29 18:17 989jQuery拥有强大的有创造性的程序员群体。 然而,它很难通 ... -
jquery触发事件
2013-05-23 17:25 612Snandy Stop, thinking is th ... -
jquery事件命名空间
2013-05-23 17:13 518JQUERY事件命名空间 2012 ... -
jQuery的事件命名空间-Namespaced Events
2013-05-23 17:12 633jQuery的事件命名空间-Namespaced Event ... -
JQuery自定义事件的应用 JQuery最佳实践
2013-05-23 16:54 800本文主要介绍JQuery框架里面支持的自定义事件模型,通过实 ... -
jquery插件开发
2013-05-13 15:01 715此文引自:http://www.cnblogs.com/to ...
相关推荐
总的来说,这个"WEBQQ登陆器.rar"压缩包对于想要学习WEBQQ工作原理、前端开发、网络通信或者腾讯API使用的开发者来说,是一份宝贵的资源。通过深入研究源码,不仅可以提升编程技能,还能了解实际项目中的最佳实践。
【标题】"仿WebQQ.rar"是一个项目压缩包,它旨在模仿WebQQ的桌面系统,让用户在桌面环境下体验类似于WebQQ的交互与功能。这个项目是用纯JQuery技术实现的,这意味着它主要依赖于JQuery库来处理DOM操作、事件绑定、...
【标题】"jmos.rar_javascript_jmos win_webqq" 提供的是一个基于JavaScript实现的简易桌面系统,名为"jmos",它模仿了WebQQ的界面和功能,旨在为用户提供一种类似桌面应用的交互体验。 【描述】中提到,这个项目是...
我收集的各种类似于QQ和WebQQ的源码 有: VC 仿QQ即时通信程序.rar VC++ 实现类似QQ的多功能聊天程序.rar WebQQ181.rar 仿QQ完全开源的交互聊天软件.rar myicq.zip
【标题】"WebQQ"揭示了我们讨论的主题是基于网页的QQ客户端实现,它允许用户在Web浏览器上体验类似于桌面版QQ的聊天功能。这种技术的实现基于Asp.net平台,利用C#编程语言编写了全部的源代码,旨在提供跨平台的即时...
WebQQ桌面布局是一种基于网页技术实现的QQ客户端界面设计,它允许用户在浏览器上体验类似于桌面应用的QQ聊天功能。这种布局充分利用了Web技术的优势,如JavaScript库jQuery,来实现动态交互和响应式设计,为用户提供...
这个实例通过结合ASP.NET 3.5框架和AJAX技术,展示了如何构建一个类似WebQQ的聊天应用。在深入探讨这个项目之前,我们先来了解一下ASP.NET 3.5和AJAX这两个关键技术。 ASP.NET 3.5是微软.NET Framework 3.5的一部分...
【jQuery 插件 - WebQQ 桌面布局】是一种基于 jQuery 库的前端开发工具,用于构建类似于桌面应用的WebQQ布局效果。这个插件允许开发者为网页创建具有动态和交互性的用户界面,模拟了QQ桌面客户端的用户体验,使网页...
通过学习和分析WebQQ_Demo的源码,开发者可以深入理解Web应用的实时通信机制,以及如何将社交功能融入Web环境中,这对于提升Web开发技能和理解现代Web技术有着重要的实践意义。同时,这个项目也体现了开源精神,鼓励...
本项目主要探讨如何分析WebQQ的源码,并进行仿制开发,以创建类似的功能。 首先,我们需要了解WebQQ的核心技术。WebQQ是使用JavaScript、HTML和CSS构建的,这些是Web开发的基本技术。JavaScript负责处理动态交互,...
【Asp.Net WebQQ源代码】是一个基于ASP.NET技术实现的在线聊天工具,它旨在模仿腾讯QQ的功能,让用户能够在网页上实现类似QQ的即时通讯体验。这个项目的核心目标是利用Web技术来提供一种轻量级的、跨平台的聊天解决...
JavaScript是Web开发的核心,用于增加动态性和交互性,对于高仿WebQQ应用,它可能包含了模拟QQ功能的逻辑,如登录验证、消息发送与接收、用户状态更新等。 4. **图片资源**: - `images`文件夹:存储了应用所需的...
在这个项目中,JavaScript被用来创建一个类似WebQQ的界面,并实现苹果菜单的功能。这涉及到DOM操作、事件处理、动画效果等多个JavaScript知识点。例如,通过DOM(文档对象模型)接口,开发者可以动态地改变HTML元素...
WebQQ是一种基于网页技术实现的在线聊天应用,它允许用户在浏览器中体验类似于桌面QQ的交互功能。这个“WebQQ效果实现例子”很显然是一个示例项目,旨在展示如何在Web环境中模拟桌面QQ的酷炫效果,如桌面拖拽、桌面...
在本项目中,“jQuery UI仿webqq桌面系统WebOS界面操作”是一个利用jQuery UI库创建的,模拟WebQQ桌面系统风格的Web操作系统界面。这个系统旨在提供一种类似于桌面环境的用户体验,用户可以通过浏览器进行交互,享受...
【标题】"webQQ.rar_webqq" 涉及的核心技术是WebQQ的实现,这是一种基于Web技术的QQ客户端,允许用户在网页中直接使用QQ服务,无需下载和安装传统桌面版的QQ软件。WebQQ的出现使得即时通讯更加便捷,尤其对于那些...
【标题】"仿webQQ源码 .net ajax XML jQ" 涉及的主要知识点包括:WebQQ的实现原理、.NET框架的应用、Ajax技术、XML数据处理以及jQuery库的使用。...同时,对于.NET框架的深入运用,也有助于提高后端开发能力。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Qt库提供了QJsonDocument和QJsonObject等类来处理JSON数据,帮助开发者提取所需的信息,如好友列表、...
1. **Web前端技术**:Webqq App的开发主要依赖于前端技术,如HTML、CSS和JavaScript。HTML用于构建网页结构,CSS负责样式设计,而JavaScript则用于实现交互性和动态功能。 2. **JavaScript框架**:为了提高开发效率...
通过对这个"WebQQ协议.rar"压缩包中的源码进行学习和分析,开发者可以深入理解WebQQ协议的工作流程,这对于开发类似的Web即时通讯应用或者研究其他类似协议(如Web微信)都有极大的帮助。同时,这也是一个学习易语言...