如何用Cordova实现onReset?
How to implement onReset with Cordova?
我对如何实现 onReset 方法以了解我的插件何时重置感兴趣。
正如在 Plugin Initialization and Lifetime
的 Cordova 指南中所见
Plugins with long-running requests, background activity such as media playback, listeners, or that maintain internal state should implement the onReset method to clean up those activities. The method runs when the UIWebView navigates to a new page or refreshes, which reloads the JavaScript.
到目前为止,我没有找到任何关于如何实施它的文档,也没有任何指南...
如果有人知道这样做的方法,我会很高兴知道。
谢谢。
在iOS中找到了解决方案,这必须在插件的本机端而不是 JS 端完成...
Cordova CDVPlugin 实现通知中心观察者调用的 - (void)onReset
方法 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReset) name:CDVPluginResetNotification object:theWebView];
Cordova 每次触发 webViewDidStartLoad
时都会发布此通知。
因为我的插件是 CDVPlugin 的子class:@interface MyPlugin : CDVPlugin
,我可以覆盖我的插件 class 中的 onReset
方法并做我想做的事情:
- (void)onReset
{
//... my code
[super onReset];
}
我对如何实现 onReset 方法以了解我的插件何时重置感兴趣。
正如在 Plugin Initialization and Lifetime
的 Cordova 指南中所见Plugins with long-running requests, background activity such as media playback, listeners, or that maintain internal state should implement the onReset method to clean up those activities. The method runs when the UIWebView navigates to a new page or refreshes, which reloads the JavaScript.
到目前为止,我没有找到任何关于如何实施它的文档,也没有任何指南...
如果有人知道这样做的方法,我会很高兴知道。
谢谢。
在iOS中找到了解决方案,这必须在插件的本机端而不是 JS 端完成...
Cordova CDVPlugin 实现通知中心观察者调用的 - (void)onReset
方法 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReset) name:CDVPluginResetNotification object:theWebView];
Cordova 每次触发 webViewDidStartLoad
时都会发布此通知。
因为我的插件是 CDVPlugin 的子class:@interface MyPlugin : CDVPlugin
,我可以覆盖我的插件 class 中的 onReset
方法并做我想做的事情:
- (void)onReset
{
//... my code
[super onReset];
}