webview- window.getselection()值为null
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webview- window.getselection()值为null相关的知识,希望对你有一定的参考价值。
我正在开发一个android应用程序,它有一个WebView
。在这个网页视图中,当我选择html文本并执行任何动作时,window.getSelection()
即将来临null
。
一个javascript方法window.getSelection()
每次都不会从WebView返回所选文本。许多开发人员为此向Google提出了问题但没有解决方案。 https://issuetracker.google.com/issues/36925404
我尝试了所有可能的选项来获取选择对象
window.getSelection(); window.doument.getSelection(); document.getSelection(); EReader.Selection.Range.getCurrentRange();
你有什么建议吗?
答案
使用Android API> = 19,您可以使用evaluateJavascript:
webview.evaluateJavascript("(function(){return window.getSelection().toString()})()",
new ValueCallback<String>()
{
@Override
public void onReceiveValue(String value)
{
Log.v(TAG, "SELECTION:" + value);
}
});
在较旧的版本中,您应该通过webview.loadUrl调用传递相同的东西:
webview.loadUrl("javascript:js.callback(window.getSelection().toString())");
其中js是附加的javascript界面:
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new WebAppInterface(), "js");
和
public class WebAppInterface
{
@JavascriptInterface
public void callback(String value)
{
Log.v(TAG, "SELECTION:" + value);
}
}
以上是关于webview- window.getselection()值为null的主要内容,如果未能解决你的问题,请参考以下文章