我在CDVPlugin
app。
Cordova
)插件
通过该插件,如果javascript文件调用CDVPlugin
中声明的方法,那么我可以通过
CDVPluginResult *pluginResult = nil;
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:[NSString stringWithFormat:@"%@",deviceUUIDString]];
self.delegateCallbackId=command.callbackId;
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
但是如何从我的自定义CDVPlugin类调用javascript函数。
答案 0 :(得分:1)
如果我们要调用任何javascript方法调用它,请使用在CDVCommandDelegate
类中声明的evalJs来调用它,并且可以将该函数的名称写为带分号的字符串
在科尔多瓦: 我们可以像这样使用evaluateJavaScript方法
[self.commandDelegate evalJs:@"callCustomMethodJs();"];
答案 1 :(得分:0)
您可以尝试以下
NSString * jsfunctioncall = [NSString stringWithFormat:@"yourjsfunctiontobecalled()"];
#ifdef __CORDOVA_4_0_0
[self.webViewEngine evaluateJavaScript:jsfunctioncall completionHandler:nil];
#else
[self.webView stringByEvaluatingJavaScriptFromString:jsfunctioncall];
#endif
CDVPlugin有webViewEngine和webView作为其属性,所以如果你从CDVPlugin继承它可能会工作。为了这个工作你的JS可能需要已经加载。我没有自己尝试过。
希望有所帮助:)