UIWebview javascript桥
我应该在Objective C和javascript代码之间进行通信,我还希望将对象从Objective C返回到js,并将js返回到Objective C。为此,我使用了一个名为Webviewjavascriptbridge的库。但我无法从objective c到js获取返回值。有人能告诉我是否有其他图书馆可以做到这一点吗?我尝试使用此链接中提到的库,但无法从objective c获得js的返回值。请检查此链接,可能是您需要的:UIWebview javascript桥,javascript,objective-c,uiwebview,Javascript,Objective C,Uiwebview,我应该在Objective C和javascript代码之间进行通信,我还希望将对象从Objective C返回到js,并将js返回到Objective C。为此,我使用了一个名为Webviewjavascriptbridge的库。但我无法从objective c到js获取返回值。有人能告诉我是否有其他图书馆可以做到这一点吗?我尝试使用此链接中提到的库,但无法从objective c获得js的返回值。请检查此链接,可能是您需要的: JSBridge是一个易于使用的库,用于在JS和cocoa/目标
JSBridge
是一个易于使用的库,用于在JS
和cocoa
/目标
-c`之间进行通信
如果您想从应用程序向Javascript发送消息,则UIWebView
为您提供了一个方法。这是我实现的代码,用于将webview中的填充数据分配给客户
NSString *jsSave=[NSString stringWithFormat:@"set_customer(%@);",self.customer.customerId];
[webView stringByEvaluatingJavaScriptFromString:jsSave];
set\u customer是JS的方法。您想要一个从
ObjC
到JS
的返回值。这可能意味着您的js
代码需要ObjC
代码提供的参数。然后你可以试试这个:
NSString *returnValue = [self someMethod];
NSString *jsCallBack = [NSString stringWithFormat:@"yourJsMethodName:('%@')", returnValue];
[webView stringByEvaluatingJavaScriptFromString:jsCallBack];
这就是你想要的吗?我希望它能有所帮助。您好,谢谢您的回答,使用这个库是否可以将对象从objective c返回到js。是的,您可以。如果您访问上述链接,您将看到如何使用此库的逐步说明。他们还有一个示例xCode项目需要帮助。嗨,伊斯梅尔,谢谢你的回答。我已经检查了链接,但是它没有提供任何方法来将对象从js传递到obj c。如果我错了,请让我知道如何实现它。你不能直接传递对象,你需要制作一个json并使用这个绝对棒极了的简单想法,我必须说链接中的那个。复制这里最重要的事实:
我们唯一需要更改的是Javascript代码。我们不更改文档位置,而是创建一个IFrame并将其位置设置为触发shouldstartoadWithRequest方法的值。
在iOS7中,支持JavascriptCore.Framework。推荐这个库,您可以使用UIWebView轻松地在javascript和objc之间通信。