Javascript 如何保存webview中的选定文本,该文本可在下次进行唯一标识
我有一个任务,在这个任务中,我必须从Webview中保存选定的文本,通过这种方式,当我在Webview中再次打开该页面时,我可以唯一地识别该文本Javascript 如何保存webview中的选定文本,该文本可在下次进行唯一标识,javascript,android,html,android-webview,jsoup,Javascript,Android,Html,Android Webview,Jsoup,我有一个任务,在这个任务中,我必须从Webview中保存选定的文本,通过这种方式,当我在Webview中再次打开该页面时,我可以唯一地识别该文本 我已经尝试从Webview中获取所选文本,这很容易。我使用了下面的方法从webview检索所选文本 if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.KITKAT){ browser.evaluateJavascript(((function(){return window.getSelection().
browser.evaluateJavascript(((function(){return window.getSelection().toString()})()”,
新的ValueCallback(){
@凌驾
公共无效onReceiveValue(字符串值){
Toast.makeText(getActivity(),((value.length()>0)?“所选文本:\n”+值:“请选择文本”)、Toast.length\u SHORT.show();
}
});
}
- 我在文档中搜索支持的方法以实现 但没有找到任何特定的API
- 我搜索jsoup库来解析HTML,并尝试查找文本,但这种方法并没有涵盖大多数情况(我知道..这很糟糕!!)
- 我尝试了JSoup库,但是当我搜索它时,JSoupAPI也没有任何这样的API/功能来处理所选文本李>
- 加载Rangy的js资产,以便调用它的函数
- 试图初始化Rangy库(Rangy.init),但这似乎也不起作用。(我肯定错过了一些简单的东西,但还无法理解)
我可以以同样的方式使用任何其他JS库吗?欢迎提出任何建议。
下次可以唯一识别这些建议。
。我不清楚您下次要标识什么。我想,我可以使用它来唯一标识所选元素代码>一个网页会有更多选择吗?我想一次选择一个,但有两件事。1.所选文本可以很大,并且可能有多个父标记。2.用户可以在一个页面上多次执行此操作。下次可以唯一标识该页面。
。我不清楚您下次要标识什么。我想,我可以使用它来唯一标识所选元素代码>一个网页会有更多选择吗?我想一次选择一个,但有两件事。1.所选文本可以很大,并且可能有多个父标记。2.用户可以用一个页面做多次。
browser.evaluateJavascript("(function(){return window.getSelection().toString()})()",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
Toast.makeText(getActivity(), ((value.length() > 0) ? "Selected Text:\n" + value : "Please select text"), Toast.LENGTH_SHORT).show();
}
});
}