如何从Javascript调用Objective C方法并将数据发送回iOS中的Javascript

在iOS中,如何从Javascript中调用Objective-C方法UIWebView并让它将数据发送回Javascript?我知道这可以使用Webkit库在OS X上完成,但是这可以在iOS上实现吗?PhoneGap如何实现这一目标?



犯罪嫌疑人X
浏览 581回答 3
3回答

饮歌长啸

更改页面的位置可能会导致以下问题:所有setInterval和setTimeout立即停止在位置更改上取消位置更改后,每个innerHTML都不起作用!你可能会得到其他非常奇怪的错误,真的难以诊断......这里提供的解决方案是:继续使用相同的URL技术(在js和objective-c上),只需使用iframe更改位置: var iframe = document.createElement("IFRAME"); iframe.setAttribute("src", "js-frame:myObjectiveCFunction"; document.documentElement.appendChild(iframe); iframe.parentNode.removeChild(iframe); iframe = null;

阿波罗的战车

从Objective-C:您可以将字符串中的javascript函数传递给UIWebView。网页将执行它并返回结果。这样您就可以传递变量并从Javascript中获取数据。- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script例:NSString *script = @"document.getElementById('myTextField').value";NSString *output = [myWebView stringByEvaluatingJavaScriptFromString:script];来自Javascript:将您的数据传递到URL中。拦截UIWebViewDelegate中的URL请求。通过返回NO获取数据并中止URL请求。<script>window.location = "url://key1/value1"; </script>拦截URL请求- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS
JavaScript