0
任何人都可以告訴我如何註銷應用程序進入後臺時的UIWebview?UIWebview註銷
我需要通過UIWebview調用離線()等js函數。當我調用這個函數 [mywebview stringByEvaluatingJavaScriptFromString:@「offline()」]; 此方法不起作用。 但是,當應用程序進入前景時,這起作用。
我怎麼能得到它的工作?
任何人都可以告訴我如何註銷應用程序進入後臺時的UIWebview?UIWebview註銷
我需要通過UIWebview調用離線()等js函數。當我調用這個函數 [mywebview stringByEvaluatingJavaScriptFromString:@「offline()」]; 此方法不起作用。 但是,當應用程序進入前景時,這起作用。
我怎麼能得到它的工作?
有可能在應用程序進入後臺之前JavaScript不會及時執行。您可以通過在你的appdelegate運行backgroundTask要求更多時間的applicationWillResignActive方法:
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid){
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
});
}];
還要確保結束後臺任務,一旦你知道你的JavaScript它完整的(因爲它的網頁視圖中的javascript,唯一的辦法可能只是在N秒後稱之爲):
// After N sections execute this:
if (bgTask != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}