在UIWebView中保留cookie?

时间:2016-06-11 04:09:24

标签: ios cookies uiwebview

所以我的应用程序中有一个UIWebView,里面有一个PHP会话。我认为只要用户打开应用程序,就会保留这些cookie。

但最新发生的是用户填写表单,锁定手机一段时间或切换出来然后重新进入应用程序。但由于某种原因,cookie随后丢失,会话重置,他们必须重新启动。

有什么我可能做错了吗?

或者有没有办法在每次加载页面后保存cookie,然后每次用户查看应用程序时都恢复它们?

1 个答案:

答案 0 :(得分: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>

希望这有助于其他人。