我正在为ios和android开发epub阅读器。我想实现文本高亮显示,并将note功能添加到我的epub阅读器中。我想知道如何将这些功能用于固定布局epub。我可以通过javascript:window获取所选对象。getSelection()
。我想保存和检索这些对象以备将来使用。下面是我用来突出显示和保存文本的代码:
var selection;
var storedSelections[];
function highlightText() {
if (window.getSelection) {
selection = window.getSelection();
}
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
var selectedText = range.toString();
var span = document.createElement("span");
span.id = "span_" + range.startOffset + "_" + range.endOffset ;
alert(span.id);
span.onclick = function() {
myOnclikFunction(selectedText);};
span.setAttribute("class","uiWebviewHighlight");
span.style.backgroundColor = "skyblue";
range.surroundContents(span);
selection.removeAllRanges();
selection.addRange(range);
for (var i = 0; i < selection.rangeCount; i++) {
storedSelections.push (selection.getRangeAt (i));
}
selection.removeAllRanges();
localStorage.setItem('storedSelections',storedSelections);
}}
我使用此代码检索突出显示的文本:
function ShowStoredSelections () {
storedSelections.length=0;
var retrieved= localStorage.getItem('storedSelections');
storedSelections.push (retrieved);
var selection = window.getSelection ();
for (var i = 0; i < storedSelections.length; i++) {
selection.removeAllRanges ();
selection.addRange (storedSelections[i]);
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
var selectedText = range.toString();
var span = document.createElement("span");
span.id = "span_" + range.startOffset + "_" + range.endOffset ;
span.onclick = function() {
myOnclikFunction(selectedText);
};
span.setAttribute("class","uiWebviewHighlight");
span.style.backgroundColor = "red";
range.surroundContents(span);
selection.removeAllRanges();
selection.addRange(range);
}
}}
我无法将检索到的文本添加到选择中。添加范围
。我做错了什么?
请给我一些想法或建议来克服这个问题。
提前感谢任何回复或回答。
我已经实现了所有这些为Android和iOS的本地epub播放器-其产品R
请按照以下步骤而不是使用getSelect。它很乏味,但功能将完全在您的控制之下
-
注意:最好在运行时将jQuery注入webview,以便将单词包装成跨度
问题内容: 我可以高亮显示一些文本,使其从一个值开始,然后从另一个值结束,如下所示,但颜色为黄色吗? “” JTextPane 高亮显示 文本“” 谢谢。 问题答案: 通常,有几种可能性,具体取决于您对“突出显示”的真正含义:-) 通过在文档级别更改任意文本部分的样式属性来突出显示,例如 通过textPane级别上的荧光笔突出显示:
我有一个如下的文本区域, 我需要突出显示或选择所有文本“Highlight me”。我没有找到任何方法来突出显示文本区域中的文本。此外,我在JavaFX中找不到任何其他API可以突出显示特定文本或字母的出现,例如Swing中的JTextArea。有人可以建议我如何在文本区域突出显示字符串吗?或者除了JavaFX中的这个文本区域之外,还有其他API可用吗? 我的代码: 预期输出: 线条应以以下任何颜
问题内容: 这更多是一个假设性的问题,我正在为正在计划的项目集思广益,并且很好奇是否有人知道任何API或方法可以在任何窗口上立即获取突出显示的文本,例如从浏览器或文字处理器。它还可能有一个只有在按下时才能读取的键盘命令(类似于CTRL + C,将所选文本添加到剪贴板) 我们将非常感谢您对此有什么API的任何了解。 问题答案: 您可以使用JNA 在前台窗口上实际模拟(复制操作),然后读取剪贴板中的内
本文向大家介绍opencv 基本阅读和图像显示,包括了opencv 基本阅读和图像显示的使用技巧和注意事项,需要的朋友参考一下 示例 要控制屏幕上显示窗口的大小,请在命令之前添加以下命令cv2.imshow: 有关更多详细信息,请参见openCV文档
问题内容: 我正在尝试突出显示与查询匹配的文本,但是我不知道如何使标记显示为HTML而不是文本。 当前输出: Java 脚本 所需的输出: Java 脚本 问题答案: 这是我简单的twoliner辅助方法: 它返回一个跨度,其中所请求的零件以标签突出显示。如果需要,可以简单地将其修改为使用其他标签。 更新: 为避免唯一键丢失警告,这是一个基于跨度并为匹配的零件设置fontWeight样式的解决方案