2017-05-08 4 views
0

私は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

答えて

1

使用evalJsないstringByEvaluatingJavaScriptFromString

[delegate evalJs:@"alert('test')"]; 
関連する問題