我使用cordova的角色创建了一个自定义插件。我已将插件的键/值添加到cordova.plist并在本机ios代码中写入插件。但是,只有在我访问了fllowing页面之后,我才能得到结果。我不知道哪里出了问题。如果cordova js需要一些初始化?
<!DOCTYPE html>
<html>
<head>
<title>Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="js/jquery.min.js"></script>
<script type="text/javascript" src="cordova-2.0.0.js"></script>
<style type="text/css">
*{ margin:0;
padding:0;
}
body {
margin-left:0px;
width:1024px;
background-image: url("content/main/defaultbg.jpg");
background-size:1024px 768px;
}
</style>
</head>
<body>
<div id="slr_left_title">
html code ....
</div>
<script>
setTimeout(function(){
window.getReportList = function(reportCategory, successCallback) {
cordova.exec(successCallback, function(err) {
callback('get the category list error!');
}, "SLReportList", "getlist", [reportCategory]);
};
window.getReportList("atestcategory", function(result) {
alert(result);
});
},0);
</script>
</body>
</html>
答案 0 :(得分:2)
如果不知道你的插件尝试做什么并看到它的代码,很难确切知道出了什么问题,但这是我最好的猜测。
Cordova插件按需懒洋洋地加载。因此,在您至少调用一次exec()
之前,您的插件才会生效。如果你的插件是偶尔用信息调用Javascript的插件,而没有Javascript每次都要求它,那么你需要在插件的initialize
开始时调用exec()
方法。该计划。
答案 1 :(得分:0)
从Cordova 2.5.0开始,您可以在cordova的config xml中为该插件的条目添加onload="true"
。
请参阅http://cordova.apache.org/docs/en/2.6.0/guide_plugin-development_ios_index.md.html