我创建了自己的插件,它调用了用java编写的类。我想从Javascript代码中调用此插件。错误出现在代码中:
window.plugins.locationListing.list("/sdcard",
function(r){gotLocation(r)},
function(e){onError(e)}
);
window.plugins未定义。
以下是我所做的事情:
1)在我的源文件夹中创建了一个LocationFinder插件类
2)将插件添加到res / xml / plugins.xml
<plugin name="LocationFinder" value="com.phonegap.plugins.locationListing.LocationFinder"/>
3)创建了一个名为locationlisting.js的JavaScript文件:
var LocationListing = function() {
};
LocationListing.prototype.list = function(directory, successCallback, failureCallback) {
return PhoneGap.exec(successCallback,
failureCallback,
'LocationFinder',
'list',
directory);
};
4)在我的main.html中添加了locationlisting.js,main.js,phonegap-1.0.0.js。
5)从我的main.js,我调用插件,这是我执行上面编写的第一段代码,复制如下:
function callPlugin() {
window.plugins.locationListing.list("/sdcard",
function(r){gotLocation(r)},
function(e){onError(e)}
);
}
这是window.plugins未定义的地方。可能是什么问题呢?我将所有js文件存储在www /中。任何帮助将不胜感激。
答案 0 :(得分:0)
您在locationlisting.js文件中错过了注册部分:
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("locationListing", new LocationListing());
});
您可以参考我创建的几个示例插件模板here