金山词霸即划即译设计随笔(三)

原创 2007年09月13日 15:00:00

如何获取光标的位置,在上一节中已经解决了。现在我们来进行第二步,如何获取选定的文本。

这一点也是至关重要的,因为我们要把用户选择的文本作为用户提交的输入来处理,作为参数提交查询请求。

原来从来没尝试过这一点,只好求助于google了,虽然第一次查相关资料有些盲目,但很幸运的是,我还是找到了。

var text=document.selection.createRange().text;

上面这句看起来很简单,就是为了得到用户在浏览器窗口中选择的文本对象,然后存入变量text中,以备下面使用。

为了便于大家理解,特在MSDN上抓来了下面的一段有关selection对象的说明,仅供参考:

Remarks

You can use the selection object as input from the user to identify which portion of the document to act on, or as output to the user to show the results of an action.

Users and scripts can create selections. Users create selections by dragging the mouse over a portion of the document. Scripts create selections by calling the select method on a text range or similar object. To get the active selection, apply the selection keyword to the document object. To carry out work on a selection, create a text range object from the selection using the createRange method.

A document can have only one selection at a time. The selection has a type that determines whether it is empty or contains a block of text or elements. Although an empty selection contains nothing, you can use it to mark a position in the document.

简单翻译如下:

说明:你可以利用selection对象把用户在当前窗口中的具体操作位置当作用户输入,也可以把它作为响应用户某一操作的结果输出给用户。

用户和编码人员可以创建selection对象。用户可以通过在窗体中的某个位置上拖动鼠标来创建selection对象,而编码人员则可以对文本序列或简单的对象调用select()方法来创建它。获取当前的选择内容,可以应用在文档内选择的关键字。为了实现选择内容的获取,可以使用selection对象的createRange()方法来创建一个文本序列。

一个文档对象往往只能有一个selection对象。selection对象拥有可以判断它是否为空或是否包含文本块或其他元素的特性。尽管一个空的selection对象不包含任何内容,但你可以用它来标记文档的一个位置。MSDN参考地址

在把从selection对象获得的值赋给text变量后,你就可以通过.length属性获取并判断它的长度了,以决定它是否为空。

MSN跟我交流

星际译王,金山词霸,有道词典,词库下载 2

七国语言词典 (19): [七国语言]英汉机械工程大词典 13213[七国语言]英汉信息大词典 14788[七国语言]英汉数学大词典 12736[七国语言]英汉农业大词典 15560[七国语言]...

黑马程序员 手写山寨版的金山词霸

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------...

金山词霸没落了么?

作为英语小白,金山词霸是我电脑的必备软件。用金山词霸的历史几乎与用电脑的历史是相同的。 之前好多年用的都是金山词霸2005,后来想起作为一个IT业人士,总用盗版似乎不够仗义。我一直比较尊敬金山,因为...

金山词霸生词本生成器

金山词霸除了单词查词功能,大家用得比较多的是金山词霸的生词本功能。 不可否认,金山词霸是个非常棒的英文单词查询工具,但其它功能还是有很多功能不完善。如生词本功能。 每一个人学单词时,学的顺序和内容都...
  • skyhh
  • skyhh
  • 2015年04月06日 11:28
  • 2215

控制其他程序1(金山词霸2009)

基于个人需要,想控制其他程序,获取其他程序接运行结果。 具体来说,现在我想要在我的程序中控制金山词霸查询一个单词,最后能在我的程序中显示查询的结果。   就像把其他程序作为一个函数来调用,首先想...

自定义加载等待动画,仿金山词霸

打开金山词霸,当加载下一页或者切换页面时,数据没有立即加载出来,会出现一个LoadingView 一起看看效果: 分析一下效果图,关键的技术点如下:1.绘制除出9个圆点(圆点的个数可以自己定义...

金山词霸2016.1.3.3 手动去广告方法

该词典的2012版可以通过修改xml文件实现去广告,之前有人发过百度经验了。然而2016版中根本没有xml文件了,故需要新的方法。        先看一看去广告前后的效果对比: 金山词霸的广告主要...

详解如何从安卓金山词霸导出单词本上的单词

因为金山词霸没有带导出功能也没有在线同步功能,所以会比较蛋疼,像我这种读专业书,边查边存的,积累了很多词汇,肯定要导出到电脑才会爽。 我们可以这样,首先在你的sdcard上找到powerword.d...

解决金山词霸2010牛津旗舰版破解词典丢失的方法

金山词霸丢失牛津词典的问题似乎从2009版就开始了,到了金山词霸2010版这个问题依旧没有解决。今天看到winzheng的Anson4朋友给出了一个解决金山词霸2010牛津旗舰版词典丢失的解决办法,贴...
  • bat67
  • bat67
  • 2017年01月14日 15:02
  • 1051

金山词霸抓词机理 -- HOOK消息功能的使用

内容提要 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:金山词霸即划即译设计随笔(三)
举报原因:
原因补充:

(最多只允许输入30个字)