Javascript 执行webview loadUrl()时,在参数列表后出现“未捕获的语法错误:丢失)”错误
这是我要执行的javascript代码 我的界面的GetMeansion函数只是打印hi 我认为我的javascript代码没有问题Javascript 执行webview loadUrl()时,在参数列表后出现“未捕获的语法错误:丢失)”错误,javascript,java,android,webview,Javascript,Java,Android,Webview,这是我要执行的javascript代码 我的界面的GetMeansion函数只是打印hi 我认为我的javascript代码没有问题 但我不知道为什么会发生此错误。我感觉字符串周围缺少引号。您的方法getMeansion接受一个字符串,但是您没有将字符串传递给它。通过将传递的值用引号括起来表示错误应该消失 注意:我的java没有达到标准,但是它应该看起来像这样: private String getMeaningJavascript = "javascript:JavaScriptInterfa
但我不知道为什么会发生此错误。我感觉字符串周围缺少引号。您的方法getMeansion接受一个字符串,但是您没有将字符串传递给它。通过将传递的值用引号括起来表示错误应该消失 注意:我的java没有达到标准,但是它应该看起来像这样:
private String getMeaningJavascript = "javascript:JavaScriptInterface.getMeaning (function test() {return 'hi';} test();)";
...
this.loadUrl(getMeaningJavascript);
...
public class JavaScriptInterface {
@JavascriptInterface
public void getWord(String text){
wordAndMeaning += text;
Log.w("test",text);
}
@JavascriptInterface
public void getMeaning(String text) {
Log.w("test",text);
}
}
这是无效的javascript:javascript:JavaScriptInterface.GetMeansion函数测试{return'hi';}test;如果它应该是一个字符串,那么您就错过了quotes@GetOffMyLawn从技术上讲,它是有效的,因为它是一个URL。谢谢,但我想把“hi”传递给GetMeansion函数。但是您的答案打印函数测试{return'hi';}test;。它正在打印,因为您告诉它:Log.wtest,text;我没有详细解释。我想运行JavaScript函数并获取返回的文本作为GetMeansion函数的参数。例如,这是另一个将querySelector值传递给getword函数的代码。this.loadUrljavascript:JavaScriptInterface.getWorddocument.querySelector\html bodybodyClass divcontent div.entry\u search\u word.top div.h\u word.\u tipSkipItem strong.target\.innerHTML;
private String getMeaningJavascript =
"javascript:JavaScriptInterface.getMeaning (\"function test() {return 'hi';} test();\")";