小编典典

Android:拦截来自WebView的AJAX调用

ajax

我想要一个HTML/javascript在中运行的应用程序WebView来进行AJAXJava代码处理的调用。
理想的方法是仅拦截呼叫(简单,只需使用shouldOverrideUrlLoading())并“返回”一些数据。
但是,WebView除了javascript使用调用函数外,我没有找到“返回”对的响应的方法loadUrl()
这对我来说不起作用,因为该HTML/javascript应用程序是我无法控制的嵌入式应用程序。就HTML /
javascript应用程序而言,它只是进行AJAX调用并接收一些数据。

有什么想法吗?


阅读 769

收藏
2020-07-26

共1个答案

小编典典

最后,我还是使用了问题中描述的方法。

我截获了一些特定的请求,例如:foo://bar/get/1?callback=foobar然后解析URL并使用实际数据调用javascript回调函数。
回调函数是在的查询部分中定义的URL,因此在上面的示例中将是:foobar();

调用该函数很简单,只需使用: yourWebView.loadUrl("javascript:foobar('somedata')");

2020-07-26