我是PhoneGap / Cordova的新手,想在CDVPlugin接口之外调用一些javascript ....在不属于插件的代码中。
这可能吗?如果我可以获得PhoneGap使用的webview的引用,我应该可以调用类似的东西:
[webView stringByEvaluatingJavaScriptFromString:@"myJSFunction()"];
或
[super writeJavascript::@"myJSFunction()"];
答案 0 :(得分:0)
您可以通过从AppDelegate获取对WebView的引用来为ios执行此操作:
+(void) fireJavascript:(NSString*) javascript
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate fireJavascript:javascript];
}
并在AppDelegate中定义一个类似的方法:
- (void) fireJavascript:(NSString *)javascript
{
NSLog(@"About to fire js:%@", javascript);
[self.viewController.webView stringByEvaluatingJavaScriptFromString:javascript];
}
请注意,您可以在StackOverflow上的应用using info from this question中获取应用代理的参考。