Javascript 如何在专用模式下在iOS Safari浏览器上启用本地存储?

Javascript 如何在专用模式下在iOS Safari浏览器上启用本地存储?,javascript,jquery,ios,angularjs,Javascript,Jquery,Ios,Angularjs,我正在开发project SPA angular应用程序,它需要浏览器的localstorage来存储值。我们注意到iOS不允许在私有模式下访问localstorage 我们通过检查localstorage的浏览器兼容性解决了这个问题。如果不允许本地存储,我们使用AngularJS的$rootScope对象临时存储值 这种方法的唯一挑战是当页面刷新时,数据将被清除,这是有意义的,因为我们使用的是$rootScope,页面刷新时数据将被销毁 以下是我的问题: 他们是否可以通过javascript启

我正在开发project SPA angular应用程序,它需要浏览器的
localstorage
来存储值。我们注意到iOS不允许在私有模式下访问
localstorage

我们通过检查
localstorage
的浏览器兼容性解决了这个问题。如果不允许本地存储,我们使用AngularJS的
$rootScope
对象临时存储值

这种方法的唯一挑战是当页面刷新时,数据将被清除,这是有意义的,因为我们使用的是
$rootScope
,页面刷新时数据将被销毁

以下是我的问题:

  • 他们是否可以通过
    javascript
    启用
    localstorage
  • 他们是否有更好的替代方法?理想情况下,我们希望在页面刷新时保留值。怎么可能呢?(使用
    localstorage
    好吗)
  • 谢谢, 戈库尔

  • 不,您不能通过
    js
    或其他黑客方式启用
    localstorage
  • 我认为最好的选择是使用
    cookies
  • 你可以从这里学习如何使用cookies

    对于
    angularJS

    $cookies

    尝试改用cookies

    $cookies
    提供了getter和setter的标准api

    以下是如何使用它们的示例:

    angular.module('cookiesExample', ['ngCookies'])
    .controller('ExampleController', ['$cookies', function($cookies) {
      // Retrieving a cookie
      var favoriteCookie = $cookies.get('myFavorite');
      // Setting a cookie
      $cookies.put('myFavorite', 'oatmeal');
    }]);
    
    下面是方法的完整列表:

    方法 返回给定cookie键的值


    返回给定cookie键的反序列化值


    返回包含所有cookie的键值对象


    设置给定cookie键的值


    序列化并设置给定cookie键的值


    删除给定的cookie

    get(key);
    
    getObject(key);
    
    getAll();
    
    put(key, value, [options]);
    
    putObject(key, value, [options]);
    
    remove(key, [options]);