2016-06-11 74 views
0

所以我在我的應用程序中有一個UIWebView,它裏面有一個PHP會話。我只是在用戶打開應用程序的時候纔會保留這些cookie。在UIWebView中保留Cookie?

但是,用戶正在填寫表單,鎖定手機一段時間或切換出來,然後回到應用程序。但之後出於某種原因,cookie隨後丟失,會話被重置並且必須重新啓動。

有什麼我可以做錯嗎?

或者有什麼辦法可以在每次頁面加載後保存cookie,然後在用戶每次查看應用程序時恢復它們?

回答

0

如果有人在嘗試自己修復此問題時遇到此問題,我選擇在網頁上使用JavaScript修復此問題。

首先包括這在你的基地HTML文件,或者使用一個PHP文件把它在每一個網站上的網頁:(既然你不能使用一個js文件中的PHP頭)

<script> 
    function get_SID(){ 
     return '<?php echo session_id(); ?>'; 
    } 
    function get_session_name(){ 
     return '<?php echo session_name(); ?>'; 
    } 
</script> 

然後加入此代碼到您的基本JS文件之一:

<script> 
    function setCookie(cname, cvalue, exdays) { 
     var d = new Date(); 
     d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
     var expires = "expires="+ d.toUTCString(); 
     document.cookie = cname + "=" + cvalue + "; " + expires + "; path=/"; 
    } 
    function refresh_cookie(){ 
     setCookie(get_session_name(), get_SID(), 10000); 
    } 
</script> 

希望這可以幫助別人。