当前位置: 首页 > 知识库问答 >
问题:

使用javascript/uiwebview ios动态高亮显示

姬正文
2023-03-14

我有一些文本内容显示在UIWebView上,这是普通的html。当前段落以黄色突出显示,用户选择了单词“如果”。(链接到图像:http://i.stack.imgur.com/GKp9h.png)

1)当用户在uiwebiew上选择一些文本时,我如何执行动态高亮?也就是说,当用户选择文本时,选择的文本会以紫色高亮?

例如,我喜欢单词“如果”用紫色突出显示(也许使用window.get选择() ? ) 这种行为是动态的,当用户选择后续单词时,选择下的单词会用紫色突出显示。

我目前正在努力解决的问题是:

1) 当用户在uiwebview上选择一些文本时,我应该听什么事件处理程序(JavaScript或iOS)?这是在uimenucontroller打开之前。

2) 一旦获得所选文本(使用window.getSelection()),如何以干净高效的方式修改DOM,使所选文本高亮显示?

我想2)我不能直接使用style.backgroundColor=


共有1个答案

孔寒
2023-03-14

这里有一个非常相似的问题:如何从UIWebView获取选择文本?

从公认的答案来看,这似乎可以回答你的问题:http://zaldzbugz.posterous.com/how-to-mark-or-get-the-highlighted-string-ins/有一个关于在web视图中获取文本选择并设置其样式的讨论。

 类似资料:
  • 在页面上有两个框 这两个框是一个数组的数据类似与 [ 这种格式的我去循环然后画的框 想要实现无论点击这两行哪行 这两行都高亮显示 用过根据id查找页面元素,但id只能返回第一个所以只能第一个高亮

  • 我目前使用的是原生JS,我正在尝试在contenteditable div中构建突出显示文本功能。我已经成功构建了突出显示功能,但当我想使用单个按钮在突出显示文本和非突出显示文本之间切换时,遇到了一个问题。所以我通过 并且我正在使用作为范围对象函数的周围内容包装选定的文本。 但是现在,当我试图取消突出显示的文本的某些部分和纯文本的某些部分时,自然行为应该取消突出显示的文本并突出显示纯文本。为了实现

  • 我在专业版的PyCharm中使用sekizai来控制我的JavaScript代码在页面中的呈现位置。 在我的django模板代码中,这意味着我的JavaScript没有包含在通常的

  • 这是我在一个项目中创建新文件后突然发生的。几乎所有的字符都是空白的(括号除外,因为我启用了括号对着色) 点tsx高亮不起作用 点ts突出显示不起作用 点js突出显示不起作用 我已经尝试重置我的配置,检查我的配置(全局地和在我的工作区中),尝试这个提供可选语法突出显示的扩展(这很有效,但是我更喜欢使用VS代码1)

  • 对于我使用的语法高亮Highlight.js自定义主题. 自动语言检测已关闭,因此您可能希望指定您使用的编程语言 ```rust fn main() { // Some code } ``` 与主题的其余部分一样,用于语法突出显示的css,可以使用您自己的文件覆盖. highlight.js 通常你不应该覆盖这个文件,除非你想使用更新的版本. highlight.css highlight

  • 我希望禁用高亮显示出现,但保留高亮显示匹配标记。当我设置cercepenceshighlight:false时,它停止高亮显示事件,但同时停止高亮显示开始和结束标记。