我遇到了應用程序的問題。 我正在構建一個WebApp的應用程序。 因此,該應用程序在服務器上運行,並與UIWebview進行交互。ApplicationDidEnterBackground和UIWebview
所以讓我解釋一下我在這裏想要達到的目標。 在網頁上我有幾個JavaScript函數,我與這些功能進行交互trought的stringByEvaluatingJavaScriptFromString 例如: 代碼:
[webView stringByEvaluatingJavaScriptFromString:@"tagMe()"];
和服務器將執行此命令並執行以下操作
它設置器的URLPrefix到ServerReply://(),我抓住這個與
- (BOOL)webViewUIWebView *)webView shouldStartLoadWithRequestNSURLRequest *)request navigationTypeUIWebViewNavigationType)navigation Type
因此,如果URL有一個前綴ServerReply://它運行在我的應用程序的功能。
到目前爲止一切都很好,但當用戶按下HOME按鈕或他得到一個電話。該ApplicationDidEnterBackground方法將被調用,我想調用另一個JS功能
代碼:
[webView stringByEvaluatingJavaScriptFromString:@"gettingClosed()"];
,然後服務器應該給我帶前綴的SaveClientData一個URL://(somestring)
所以該應用程序關閉,這是行不通的.... 我的代碼是這樣的
代碼:
//AppDelegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application {
[webViewController killTrigger];
}
//webViewController. m
-(void)killTrigger{
[webView stringByEvaluatingJavaScriptFromString:@"gettingClosed()"];
}
,這不工作,但如果我這樣做 代碼:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[webViewController killTrigger];
}
//webViewController. m
-(void)killTrigger{
NSLog(@"killTrigger got called");
}
當我離開應用程序我得到的日誌消息...
是有可能這樣做[webView的stringByEvaluatingJavaScriptFromString: @「gettingCl osed()」];如果我的應用移動到背景?還是有不同的方法來獲得相同的結果......?
TNX提前,
巴特