iOS - Webview - 收到NSNotification时通知Javascript

时间:2014-03-17 13:08:53

标签: javascript ios iphone uiwebview

我想知道是否有人知道如何做到这一点。我有一堆NSNotifications,我想在嵌入UIWebView的Javascript中创建监听器,这些监听器将在收到NSNotifications时执行。

我知道这可以使用PhoneGap和方法sendPluginResult,但我想知道是否还有另一种方法可以不用cordova。

由于

2 个答案:

答案 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];
}