JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; JSTextObject * jsiOSObject = [JSTextObject new]; context[@"jsTextObject"] = jsiOSObject; NSString *[email protected]"jsTextObject.CalliOSFunction()"; JSValue *value1 = [context evaluateScript:jsStr1]; DDLogInfo(@"the value 1 is %@", value1); NSString *[email protected]"jsTextObject.CalliOSFunctionParamter(‘hello‘)"; JSValue *value2 = [context evaluateScript:jsStr2]; DDLogInfo(@"the value 1 is %@", value2); context[@"test1"] = ^() { NSArray *args = [JSContext currentArguments]; for (id obj in args) { NSLog(@"test1 %@",obj); } }; context[@"share"] = ^() { NSLog(@"+++++++Begin Log+++++++"); NSArray *args = [JSContext currentArguments]; // dispatch_async(dispatch_get_main_queue(), ^{ // UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"方式二" message:@"这是OC原生的弹出窗" delegate:self cancelButtonTitle:@"收到" otherButtonTitles:nil]; // [alertView show]; // }); NSString *title = @""; for (JSValue *jsVal in args) { if ([title isEqualToString:@""]) { title = jsVal.toString; } NSLog(@"%@", jsVal.toString); } dispatch_async(dispatch_get_main_queue(), ^{ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"方式二" message:title delegate:self cancelButtonTitle:@"收到" otherButtonTitles:nil]; [alertView show]; }); NSLog(@"-------End Log-------"); };
时间: 2024-10-19 18:34:16