webkit中获取用户选择文本和编程设定选择文本
2014-01-10 16:25
225 查看
一、需求背景
在 Android 应用中,内嵌一个 WebView,希望捕获用户点击事件,通过 javascript 判断用户点击的是否英文单词,如果是则将被点击单词发给应用做进一步处理,并实用 javascript 将该单词选中。无论是 webkit 还是 chrome ,我都没找到官方 javascript api 文档,只好参看 MDN ,好在 chrome 开发工具是一个很好的调试和探索工具,有了这两样,我们就可以开工了。好在不需要考虑跨浏览器的兼容问题,问题简单了一些。一下代码仅限于以 webkit 为内核的浏览器,以下不再说明。
二、思路
在webkit内核的浏览器中,可以通过 document.getSelection() 获取一个 Selection 对象,根据用户操作的不同,得到的 Selection 对象的状态也不同,体现在 Selection 的 type 属性。当页面装载完毕,用户没有任何点击的时候,type 的值是 "None",如果选择了某些文本,则 type 的值为 "Range",点击了页面但没选择文本时,type 值为 "Caret"。
三、实现
//TODO 敬请期待
在 Android 应用中,内嵌一个 WebView,希望捕获用户点击事件,通过 javascript 判断用户点击的是否英文单词,如果是则将被点击单词发给应用做进一步处理,并实用 javascript 将该单词选中。无论是 webkit 还是 chrome ,我都没找到官方 javascript api 文档,只好参看 MDN ,好在 chrome 开发工具是一个很好的调试和探索工具,有了这两样,我们就可以开工了。好在不需要考虑跨浏览器的兼容问题,问题简单了一些。一下代码仅限于以 webkit 为内核的浏览器,以下不再说明。
二、思路
在webkit内核的浏览器中,可以通过 document.getSelection() 获取一个 Selection 对象,根据用户操作的不同,得到的 Selection 对象的状态也不同,体现在 Selection 的 type 属性。当页面装载完毕,用户没有任何点击的时候,type 的值是 "None",如果选择了某些文本,则 type 的值为 "Range",点击了页面但没选择文本时,type 值为 "Caret"。
三、实现
//TODO 敬请期待
相关文章推荐
- document.selection.createRange方法----获取用户选择文本
- SharePoint多语言---编程获取用户当前选择的语言
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- javascript文件夹选择框的两种解决方案(主要是获取用户选择的文件夹的路径)
- Flex 如何获取Textarea的选择文本
- SAP ABAP编程 获取物料长文本-其他长文本同理
- 如何获取CComboBox选择的文本
- js获取select选择部分的文本、值
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- 通过用户选择获取各种东西
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- Android网络编程---从服务器获取文本信息
- jquery获取select选择的文本与值
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- C#之DataGridView获取用户选择的行的数据...
- document.selection.createRange方法----获取选择对象文本
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?