Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从插件向phonegap/cordova应用程序发送数据_Javascript_Android_Cordova_Android Activity_Phonegap Plugins - Fatal编程技术网

Javascript 如何从插件向phonegap/cordova应用程序发送数据

Javascript 如何从插件向phonegap/cordova应用程序发送数据,javascript,android,cordova,android-activity,phonegap-plugins,Javascript,Android,Cordova,Android Activity,Phonegap Plugins,我已经编写了一个插件来打开phonegap的Android本机活动页面,它工作正常。在本机活动页面中,我有一个按钮。我想在点击按钮时调用我的phonegap中的JavaScript函数。听起来您需要将按钮放入加载到其中的HTML中。WebView作为迷你浏览器可以处理javascript功能。Javascript可以通过接口调用本机代码,但本机代码不能调用Javascript,至少不能通过WebView调用 试试这个 Android : this.appView.loadUrl("javas

我已经编写了一个插件来打开phonegap的Android本机活动页面,它工作正常。在本机活动页面中,我有一个按钮。我想在点击按钮时调用我的phonegap中的JavaScript函数。

听起来您需要将按钮放入加载到其中的HTML中。WebView作为迷你浏览器可以处理javascript功能。Javascript可以通过接口调用本机代码,但本机代码不能调用Javascript,至少不能通过WebView调用

试试这个

  Android : this.appView.loadUrl("javascript:yourmethodname()");
  iOS     : [webView stringByEvaluatingJavaScriptFromString:@"javascript:yourmethodname()"];

单击按钮后,您需要使用要调用的函数名进行成功回调。然后,在javascript端,您需要在成功块中获取该函数名,并使用eval运行您的函数

第二种方法是可以在javascript端创建自定义事件。然后使用cordovaCallback发送事件名,并在javascript成功块触发事件。

将数据从本机代码发送到javascript

要发送数据,需要调用CallbackContext对象的success函数

callbackContext.success("Native button pressed");
您可以在javascript中的成功回调中接收和处理该数据。 当您调用cordova.exec方法来运行插件时,Success callback将作为第一个参数提供

可以发送不同类型的数据