因为不同的浏览器,其【JS】代码也有所不同,【IE】、【Firefox】、【Opera】等就是这样,所以B/S架构的软件能把人逼疯了!(注意:“遨游”等其实根本就不算是浏览器,因为它们基本上都是基于【IE】的内核,所以直接忽略不考虑。)
先从【Firefox】开,因为本人的【Firefox】中安装了【Firebug】这个插件,所以,对网页中的任何控件和脚本代码都可以控制的游刃有余。调试【JS】代码也比较方便,很快就找到了那两个关键的属性“selectStart”和“selectEnd”。【Firefox】的问题解决了。
然后是【IE】,这是最气人的,“selectStart”和“selectEnd”属性【IE】根本就不认!都快弄吐血了都没解决这个问题!算了,还是先看看【Opera】吧,用【Firefox】中调试成功的代码在【Opera】中跑,结果,没有问题,直接通过。原因可能是【Firefox】和【Opera】对W3C的标准支持的相对好一些。(你看看,恩!不得不骂比尔,这老不死的东西就是让人头疼,自从在自己的叫“窗口”的小软件——就是【Windows】集成了那个蛮横的【IE】,就一意孤行,不听组织上的话,自己单干,非得制定自己的标准,怪不得比尔是纯美国种呢,跟美国一样,都是那么霸道。。。。。。跑~~~~~~提了,汗。。。)
没办法,只好回来接着捣鼓这个没缝的鸡蛋——【IE】,无奈啊,只好在网上继续搜索!可惜搜所结果同样是——零!真没办法了,还是从【Firebug】中找突破口吧。
【Firebug】中列出了空间的所有属性及方法,排除那些知道的就开始一个一个的在网上查,最后查到了“createRange”这个方法,终于解决了【IE】这个臭鸡蛋。以下给出源代码。
[code]
//获取控件
var obj = document.getElementById('editorInput');
//获取控件的值
var message = obj.value;
//根据浏览器选择处理方法
if(is_moz||is_opera)
{
//如果是【Firefox】和【Opera】走这里
//获取选择文本的起始点
var selStart = obj.selectionStart;
//获取选择文本的长度
var selLen = obj.selectionEnd - obj.selectionStart;
//获取被选择的文本
var sel=message.substr(selStart,selLen);
}
else
{
//如果是【IE】走这里
//获取被选择的文本
var sel=document.selection.createRange().text;
//获取选择文本的长度
var selLen = sel.length;
//获取选择文本的起始点
var selStart = message.search(sel);
}
[/code]
好啦,代码都在这里了,本人在【IE】、【Firefox】和【Opera】三款浏览器中测试通过,其他非IE内核的浏览器没有测试过,所以不好下定论。
分享到:
相关推荐
JavaScript文本转语音项目是一个简单的桌面网络应用程序,使用HTML、CSS和JavaScript开发。该项目允许用户将输入的文本转换为语音形式,并且可以选择不同的语音进行朗读。 项目目标: 自动将文本转换为语音形式。 ...
【标题】"Milkyway-Cloze:用任何文本练习完形填空_JavaScript_.zip" 提供的是一款基于JavaScript开发的完形填空练习工具。这个项目名为"Milkyway-Cloze",其核心功能是允许用户利用自定义的文本创建个性化的完形...
下面是 JavaScript 命令大全,涵盖了 JavaScript 的基本语法、变量、数据类型、运算符、控制结构、函数、数组、字符串、事件处理等方面。 基本语法 * `document.write("")`:输出语句 * `//`:注释符号 * `...
- **第3行**:获取当前文本的长度。 - **第5-7行**:判断用户输入的是不是数字键或空格键。如果不是,则允许输入。 - **第9-12行**:如果文本长度已超过160个字符,则阻止此次输入;否则允许输入。 ##### 3. 应用...
1. 使用JavaScript编程对文本文档进行格式化处理,可以将文本文档中的断行、行首缩进、空行分隔等问题解决,实现了文本文档的自动格式化处理。 2. 使用JavaScript编程可以将文本文档中的断行合并,避免了繁琐的手工...
JavaScript文本转语音
在JavaScript中,字符串是基本的数据类型之一,它们用于表示文本信息。然而,JavaScript中的字符串长度并不等同于字节长度,因为JavaScript字符串是基于Unicode编码的,每个字符可能占用1到4个字节不等。这与一些...
JavaScript是Web前端开发的核心语言之一,它在网页交互、数据处理和动态效果实现等方面发挥着重要作用。本手册将深入探讨JavaScript中的字符串,这是编程中常用的数据类型,对于理解和操作文本至关重要。 一、字符...
【imgToText:获取图像并将其转换为JavaScript中的可缩放文本】 在现代网页开发中,将图像转换为文本有着多种用途,例如增加可访问性、优化SEO或创建独特的动态设计效果。`imgToText`项目就是这样一个工具,它允许...
富文本编辑器是网页开发中常见的一种工具,它允许用户在网页上进行格式化文本的输入、编辑和展示,常用于博客、论坛、CMS(内容管理系统)等应用场景。本篇文章将详细探讨如何引入富文本编辑器,以及如何从富文本中...
`str2js`的工作原理通常是将输入的纯文本进行适当的转义,以确保所有特殊字符(如双引号、反斜杠等)在JavaScript环境中能够正确解析。例如,一个包含双引号的HTML字符串`<p>"I said, "Hello"</p>`在转换后可能会...
1. 固定位置截取:这种方法通常基于起始位置和结束位置来获取字符串的一部分。例如,在Python中,你可以使用切片操作符`[start:end]`来截取字符串,其中`start`是开始索引,`end`是结束索引(不包括该位置的字符)。...
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责在客户端处理网页的动态交互和数据验证。本文将深入探讨JavaScript客户端验证和页面特效制作的核心知识点。 **一、JavaScript客户端验证** ...
需要注意的是,在IE浏览器中,如果使用非按钮元素(如`<span>`、`<div>`等)触发`onclick`事件,可能会导致整个页面的选择内容发生变化,从而导致获取选中文本的操作失败。这种情况下,建议使用按钮元素来触发获取...
在这个"10行 JavaScript 实现文本编辑器"的主题中,我们将探讨如何利用简单的JavaScript代码创建一个基本的文本编辑器。 首先,我们需要理解JavaScript的基本语法和DOM(Document Object Model)操作。DOM是HTML或...
JavaScript富文本框是一种在网页上实现用户编辑复杂文本内容的工具,它提供了比普通`<textarea>`元素更加强大的功能,比如格式化文本、插入图片、链接、表格等。在网页设计和开发中,富文本框是构建内容管理系统、...
富文本编辑器是一种常见的网页组件,它允许用户在网页上创建和编辑格式化的文本,如在网站上撰写文章或发布博客。这样的编辑器通常提供类似于Microsoft Word的功能,如字体选择、大小调整、颜色设定、插入图片和链接...
在JavaScript中,获取页面上的文字是一项常见的任务,它在网页交互、数据分析以及各种前端功能实现中扮演着重要角色。这个例子可能涉及到如何提取HTML元素中的文本内容,或者如何遍历DOM树来收集所有可见文本。下面...
尽管标签中标注的是"C#",但从给出的代码片段来看,这显然是一段JavaScript代码,用于实时显示用户在文本框内输入内容的长度。下面我们将详细介绍这段代码的工作原理、应用场景以及可能的改进方法。 ### 一、代码...