0

我使用科尔多瓦的角色创建了一个自定义插件。我已将插件的键/值添加到 cordova.plist 并在本机 ios 代码中编写插件。但是我只有在访问过一次流动页面后才能得到结果。我不知道哪里出错了。如果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>
4

2 回答 2

2

如果不知道您的插件正在尝试做什么并查看其代码,很难确切地知道出了什么问题,但这是我最好的猜测。

Cordova 插件是按需延迟加载的。exec()因此,在您至少调用一次之前,您的插件不会处于活动状态。如果您的插件旨在偶尔调用带有信息的 Javascript,而不是每次 Javascript 都要求它,那么您需要在程序开始时调用initialize插件上的方法exec()

于 2012-09-17T12:50:55.447 回答
0

As of Cordova 2.5.0, you can add onload="true" to that plugin's entry in cordova's config xml.

See http://cordova.apache.org/docs/en/2.6.0/guide_plugin-development_ios_index.md.html

于 2013-05-06T16:37:01.917 回答