惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
I
InfoQ
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
GbyAI
GbyAI
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
美团技术团队
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
M
MIT News - Artificial intelligence
D
Docker
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 叶小钗

博客园 - 坐看云起

强制卸载 Visual studio 2017 Pycharm 增加 run 控制台缓冲行数 HTML5中使用图片传递密文 Ubuntu 各版本代号简介 Ubuntu Desktop 15.10 自带桌面共享问题修复 Zend Studio 中导出 PHP 语法颜色配置 [转]为什么不能打断程序员? 儿子不背乘法口诀肿么办 大家都可以拖动的web小方块——Node.js摸石头系列之七 实现使用Websocket通讯的聊天室——Node.js摸石头系列之六 WebSocket 一场Web 通讯革命悄然来临——Node.js摸石头系列之五 完成静态服务器——Node.js摸石头系列之四 完成HelloWorld——Node.js摸石头系列三 Node.js摸石头系列目录 架一个HTTP服务——Node.js摸石头系列之二 Node.js 的安装和控制台命令——Node.js摸石头系列之一 BookMarklet:瑞士军刀你用了吗? Aptana studio 3 修改配色方案 推荐引擎与学习
webkit中获取用户选择文本和编程设定选择文本
坐看云起 · 2014-01-10 · via 博客园 - 坐看云起

一、需求背景

   在 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 敬请期待