我有一個在iPad上運行的Web應用程序。它以全屏模式運行。如果我任務切換到另一個應用程序(通過雙擊主頁按鈕等),然後切換回我的Web應用程序,然後我的Web應用程序重新啓動。阻止在iPad任務開關上重新啓動Web應用程序
有什麼辦法可以防止在iPad任務切換後收到焦點時重新啓動Web應用程序?顯然,我只是希望它能夠完全顯示出它失去焦點時的狀態。
謝謝。
我有一個在iPad上運行的Web應用程序。它以全屏模式運行。如果我任務切換到另一個應用程序(通過雙擊主頁按鈕等),然後切換回我的Web應用程序,然後我的Web應用程序重新啓動。阻止在iPad任務開關上重新啓動Web應用程序
有什麼辦法可以防止在iPad任務切換後收到焦點時重新啓動Web應用程序?顯然,我只是希望它能夠完全顯示出它失去焦點時的狀態。
謝謝。
不,這是不可能的。
要採取行動的最佳方式是將狀態保存到localStorage中。如果你使用例如。用於跟蹤您的狀態的URL散列(例如,myApp.html /#loginScreen),可以存儲該信息,然後將其應用於將調度window.onhashchange的location.hash。
換句話說(代碼寫在飛只是例子):
1 - 商店相關信息的localStorage:
localStorage.setItem("state", "loginScreen");
2 - 檢索值上啓動,並將其應用到散列:
location.hash = (localStorage.getItem("state")) ? localStorage.getItem("state") : "";
3 - 結合事件偵聽器onhashchange並繼續從那裏:
window.addEventListener("hashchange", function() {
if (location.hash.length) {
alert("Current state of UI is :"+ location.hash);
}
}, false);
至少在iOS 4.2.1,5.1.1,6.0和6.1下,這似乎是可能的;我認爲這個問題接受的答案是錯誤的。
關鍵是要做到這一點:
// Start or resume session
session_start();
// Extend cookie life time by an amount of your liking
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds
setcookie(session_name(),session_id(),time()+$cookieLifetime);
對於這一戰略的更詳細的討論,看看Maintain PHP Session in web app on iPhone
檢查Info.plist設置的:有一個關鍵的「應用程序不在後臺運行「嘗試將此值設置爲NO(或取消選中) – Hariprasad
@Hariprasad - 嗨 - 這不是一個XCode應用程序,它是一個Web應用程序(HTML,Javascript,CSS)。我是否認爲info.plist適用於XCode,而不是Web應用程序?謝謝。 – Journeyman
好吧,你是對的。這個網絡應用程序運行在瀏覽器中?或者像其他本地應用程序一樣運行。我不瞭解網絡應用程序。 – Hariprasad