2011-02-01 47 views
0

我正在开发使用phonegap的iPhone应用程序。现在我想在应用程序进入后台时保持会话状态。即使应用程序被操作系统杀死,我也想坚持这种状态。 (只需考虑在应用程序进入后台时在javascript中保存一些变量)iPhone Webview onBackground事件?

有没有什么办法可以做到这一点?当应用程序移动到背景时,UIWebView是否允许执行JavaScript?

感谢

回答

2

我不认为有这样的活动,所以我建议您经常储存状态如果您的应用程序内更改。所以你不必在关闭应用程序时保存。

+0

我们不能耽误在后台的应用程序去的过程?等可在applicationWillResignActivity方法,给webView多一点时间来执行指令? – Sailesh 2011-02-02 18:11:45

+0

你到底想要达到什么目的?也许是另一种方法来做同样的事情? – 2011-02-03 07:21:44

0

我不知道的PhoneGap,但在Objective-C,你可以添加一个观察者(注册通知时,应用程序进入后台)

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector: @selector(enteredBackground) 
    name: UIApplicationDidEnterBackgroundNotification 
    object: nil]; 

然后创建一个名为enteredBackground方法,和你可以把类似的代码:

[myWebView stringByEvaluatingJavaScriptFromString:@"Do something in javascript"]; 

,你与你要执行的代码替换Do something in javascript。 看到这个:http://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString

0

我想没有办法做到这一点。如果有人找到解决方案,请分享。

我所要做的就是在我的webview中获取“app-going-to-the-background”事件,以便我可以在此处运行一些JavaScript代码。它类似于在applicationWillResignActivity中运行Objective-C代码。因此,如果任何人都有如何做到这一点的工作示例,请回复。

,否则我将不得不考虑这是“着待完成作业” :(