我想知道是否有人知道如何做到这一点。我有一堆NSNotifications,我想在嵌入UIWebView的Javascript中创建监听器,这些监听器将在收到NSNotifications时执行。
我知道这可以使用PhoneGap和方法sendPluginResult,但我想知道是否还有另一种方法可以不用cordova。
由于
答案 0 :(得分:0)
在回调NSNotification方法中调用:
[yourwebview stringByEvaluatingJavaScriptFromString:@"methodName()"];
并在您的javascript代码中创建“methodname”
答案 1 :(得分:0)
在UIWebView
之外创建您的监听器,并将stringByEvaluatingJavaScriptFromString
消息发送到您的网络视图。
- (void)registerObserver
{
NSArray *names = [NSArray arrayWithObjects:
@"FirstNotification", @"SecondNotification", @"ThirdNotification", nil];
for (NSString *name in names)
{
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(notificationReceived:)
name:@"NotificationName"
object:nil];
}
}
- (void)notificationReceived:(NSNotification *notification)
{
NSString *js = [NSString stringWithFormat:
@"notificationReceived('%@');", notification.name];
[self.webView stringByEvaluatingJavaScriptFromString:js];
}