在Worklight混合应用程序ios中未调用Cordova.exec

时间:2014-05-21 05:47:46

标签: cordova ibm-mobilefirst

我使用的是Worklight 6.1版。

我在Hybrid应用程序中创建了一个本机(iPhone)组件 我还有2个HTML页面:默认的index.html和card.html。

我可以从index.html导航到card.html 在card.html中,我添加了一个名为“Addcard”的按钮。单击“AddCard”按钮时,将调用JS函数,该函数将通过cordova插件(cordova.exec)显示本机组件:

cordova.exec(wrappedSuccess, failureCallback, "CardIOPGPlugin", "canScan", []);

在本机页面中,通过使用“返回”按钮,我可以返回到card.html,并从那里返回到index.html。

问题是,现在如果我再次尝试从index.html导航到card.html,则cordova.exec方法无效。

App Flow:

  1. 第一页 - index.html页面,要导航到card.html页面表单index.html页面,我正在使用$("#HomePage").load("htmlpages/cardinfo.html", function(){});

  2. 第二页是card.html,它有两个按钮:

    • 返回:要导航到index.html页面,
    • 添加:将在card.html中调用Scancard(),然后在cardioplugin.js中调用canScan,然后调用cordova.exec(wrappedSuccess, failureCallback, "CardIOPGPlugin", "canScan", []);

  3. 第一个流index.html-> card.html,所有功能都正常工作但是当我使用上述功能从卡片页面导航到index.html并再次导航到card.html页面添加功能无效(cordova。不被称为。)。

1 个答案:

答案 0 :(得分:0)

由于您很长时间没有回复评论中的问题,我继续创建了一个模拟您的流程的应用程序,就像我理解的那样。

对我来说,流程正常,cordova.exec始终执行 您可以通过从https://www.dropbox.com/s/edn71leo5197i80/multipageexecuteplugin.zip?dl=0

下载Worklight 6.1.0.2项目来自行查看实施

请注意,某些文件也位于iphone \ nativeResources文件夹中,因此您可以轻松地运行应用程序,而无需事先进行任何设置。

至于为什么会发生在你身上:

  1. 真的需要测试项目来调试它......
  2. 只有我能想到的其他事情是你以某种方式失去了Worklight的上下文,因此cordova.exec“突然”停止工作。
  3. 这可能是因为你正在重新加载index.html文件(我的实现方式不同),但这个机会很少。