我对如何实现onReset方法感兴趣,以了解何时重置插件。

如Cordova指南中所示 Plugin Initialization and Lifetime

具有长时间运行的请求,后台 Activity (如媒体播放,侦听器或维护内部状态)的插件应实现onReset方法以清理这些 Activity 。当UIWebView导航到新页面或刷新时,该方法将运行,从而重新加载JavaScript。

到目前为止,我还没有找到有关如何实现它的文档,也没有任何地方的指导方针...

如果有人知道该怎么做,我很高兴知道。

谢谢。

最佳答案

在iOS中找到解决方案,这必须在插件的本机端而不是JS端完成。

Cordova CDVPlugin 实现了通知中心观察者- (void)onReset调用的[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReset) name:CDVPluginResetNotification object:theWebView];方法

每当webViewDidStartLoad触发时,此通知就会由Cordova发布。

由于我的插件是CDVPlugin的子类:@interface MyPlugin : CDVPlugin,因此我可以在我的插件类中重写onReset方法并执行我想要的事情:

- (void)onReset
{
  //... my code
  [super onReset];
}

10-08 09:29