假设我有一个带有一些 javascript 函数的 UIWebView。我希望这些 javascript 函数能够从我的应用程序请求信息,并且我的应用程序应该返回它。我可以使用URL Schemes获取请求,但是我不知道如何将信息返回给 javascript 函数。
将 javascript 变量注入 UIWebView,然后以变量作为参数再次调用 javascript 函数是最好的方法吗?或者有什么方法可以用于 UIWebView?
假设我有一个带有一些 javascript 函数的 UIWebView。我希望这些 javascript 函数能够从我的应用程序请求信息,并且我的应用程序应该返回它。我可以使用URL Schemes获取请求,但是我不知道如何将信息返回给 javascript 函数。
将 javascript 变量注入 UIWebView,然后以变量作为参数再次调用 javascript 函数是最好的方法吗?或者有什么方法可以用于 UIWebView?
通过注入 JavascriptstringByEvaluatingJavaScriptFromString
绝对没问题。
另一个方向会更好地处理webView:shouldStartLoadWithRequest:navigationType:
How to Properly Call ObjectiveC From Javascript (incl. Callback to JS) 详细描述了它,包括源代码。
使用 Objective-C returnValue 的示例 JS 代码:
NativeBridge.call("objCMethod", ["firstArgument"], function (returnValue) {
if (returnValue) {
// whatever
} else {
// whatever
}
});
使用异步通信。有一个用于 Objective C 例程的 Javascript 函数,以使用所需的任何回复参数回调到 Javascript。Javascript 回调函数甚至可以是通过 URL 方案发送到 Objective C 代码的参数之一。