私はcordova 6.5.0を使用しており、いくつかのjavascriptを実行したいプラグインを作成しています。CordovaプラグインのObjective CからJavascriptを実行しています
フォーラムで私のwebviewからstringByEvaluatingJavascriptFromStringを使用できますが、有効なメソッドとして認識されないことがあります。
は、例えばAppDelegate.mに、単にテストのために、私は、次の試してみた:[self.viewController.webView stringByEvaluatingJavascriptFromString]:@"alert('Test')"];
が、私はメッセージを受け取る「『UIViewの』の目に見える@intefaceは 『stringByEvaluatingJavascriptFromString』セレクタを宣言していません」 。
私は、そしてpluginInitializeからコルドバのプラグインから、私は
何らかの理由stringByEvaluatingJavascriptFromStringが有効な方法と考えられているが
- (void)pluginInitialize{
/* Start pjsua app thread */
// [NSThread detachNewThreadSelector:@selector(pjsuaStart) toTarget:self withObject:nil];
utils = [[Utils alloc] init ];
[utils initialise:self.webView Delegate:self.commandDelegate];
[utils executeJavascript:@"alert('Test');"];
}
を持ってUtils.m
@implementation Utils: NSObject
id webview;
id delegate;
-(void) initialise:(id) wbview Delegate:(id) dlg{
webview = wbview;
delegate = dlg;
}
-(void) executeJavascript:(NSString *)str{
[delegate runInBackground:^{
[delegate stringByEvaluatingJavaScriptFromString:@"alert('test')"];
}];
}
という名前のクラスオブジェクトを作成しましたアプリケーションがクラッシュします...
ご意見はありますか?
おかげ Symeon