[英]Phonegap: Object xx has no method 'exec' at file:///android_asset/www/cordova.js
[英]hi how can help me and resolve “Cordova.exec() is not defined at file:///android_asset/www/plugin.js” error
我试图使用一些插件来实现一个简单的推送通知应用程序。 此时此刻,当我单击一个按钮如何调用名为register
的javaScript函数时,我遇到了javaScript文件问题,这向我显示了一个错误:
Uncaught ReferenceError: Cordova is not defined at file:///android_asset/www/GCMPlugin.js
这是我的GCMPlugin.js
(function () {
var GCM = function() {};
GCM.prototype.register = function(senderID, eventCallback, successCallback, failureCallback) {
if ( typeof eventCallback != "string") { // The eventCallback has to be a STRING name not the actual routine like success/fail routines
var e = new Array();
e.msg = 'eventCallback must be a STRING name of the routine';
e.rc = -1;
failureCallback( e );
return;
}
return Cordova.exec(successCallback,
failureCallback,
'GCMPlugin',
'register',
[{ senderID: senderID, ecb : eventCallback }]);
};
if (cordova.addPlugin) {
cordova.addConstructor(function() {
//Register the javascript plugin with Cordova
cordova.addPlugin('GCM', new GCM());
});
} else {
if (!window.plugins) {
window.plugins = {};
}
window.plugins.GCM = new GCM();
}
})();
在index.js中的功能寄存器:
function register()
{ window.plugins.GCM.register("1193127317675", "GCM_Event", GCM_Success, GCM_Fail ); }
这是我的index.html:
<!DOCTYPE HTML>
<html>
<head>
<title>M W A</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script src="GCMPlugin.js"></script> <!-- GCM Cordova plugin -->
<script type="text/javascript" charset="utf-8" src="jquery_1.5.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/index.css" />
<!-- Include my Javascript routines -->
<script type="text/javascript" charset="utf-8" src="PushNotification.js"></script>
<script type="text/javascript" charset="utf-8" src="CORDOVA_GCM_script.js"></script>
</head>
<body>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
<input type="button" value="Register" style="width: 200px; height: 100px;" onclick="register();" >
<input type="button" value="Unregister" style="width: 200px; height: 100px;" onclick="unregister();" >
</body>
</html>
注意:我使用cordova-2.1.0.js
! 当我使用cordova.js
(3.0.0)时,我得到那个exec() call to unknown plugin: GCMPlugin
你能帮我解决这个问题exec() call to unknown plugin: GCMPlugin
..我花了3天多的时间来解决它,但是我仍然有这个问题
未捕获的ReferenceError:在文件中未定义Cordova:
似乎您忘记了将cordova js脚本添加到资产文件夹中。
如果要使用GCM,则应执行以下操作:首先,应已安装GCM插件( https://github.com/marknutter/GCM-Cordova )。
对于cordova 3.0,您只需要将此行添加到res / xml / config.xml文件中。
<feature name="GCMPlugin">
<param name="android-package" value="com.plugin.GCM.GCMPlugin" />
</feature>
代替<plugin name="GCMPlugin" value="com.plugin.GCM.GCMPlugin" />
这是因为Cordova 3.中不推荐使用<plugin>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.