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



我正在使用Worklight 6.1版。

我在Hybrid应用程序中创建了一个本地(iPhone(组件
我还有两个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方法就不起作用了。

应用程序流:

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

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

    • 返回:要导航到index.html页面
    • Add:将调用card.html中的Scancard(),后者将调用cardiolugin.js中的canScan,后者将依次调用cordova.exec(wrappedSuccess, failureCallback, "CardIOPGPlugin", "canScan", []);

  3. 首先流index.html->card.html,所有功能都可以工作,但当我使用上述功能从卡片页面导航到index.html并再次导航到card.html页面时,添加功能不起作用(cordova.exe未被调用(

由于您很长一段时间没有回复评论中的问题,我继续创建了一个应用程序,可以尽我所能模拟您的流。

对我来说,流程运行正常,cordova.exec始终执行
您可以通过从以下位置下载Worklight 6.1.0.2项目来自行审查实现:https://www.dropbox.com/s/edn71leo5197i80/multipageexecuteplugin.zip?dl=0

请注意,有些文件也位于iphone\nativeResources文件夹中,这样您就可以在没有任何先前设置的情况下轻松运行该应用程序。

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

  1. 真的需要那个测试项目来调试它
  2. 我唯一能想到的是,您不知何故失去了Worklight的上下文,因此cordova.exec"突然"停止工作

这可能是因为您正在重新加载index.html文件(我以不同的方式实现了这一点(,但造成这种情况的可能性很低。

最新更新