繁体   English   中英

如何在私有模式下的iOS Safari浏览器上启用LocalStorage?

[英]How to enable LocalStorage on iOS Safari browser on private mode?

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

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

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

这是我的问题:

  1. 他们有什么办法通过javascript启用localstorage吗?
  2. 他们有更好的替代方法吗? 理想情况下,我们希望在页面刷新时保留值。 那怎么可能 (使用localstorage是否很好)

谢谢,Gokul

尝试改用Cookie。

$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');
}]);

这是方法的完整列表:

方法

get(key);

返回给定cookie键的值


getObject(key);

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


getAll();

返回带有所有cookie的键值对象


put(key, value, [options]);

为给定的cookie键设置一个值


putObject(key, value, [options]);

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


remove(key, [options]);

删除给定的cookie

  1. 不,您无法通过js或其他黑客方式启用localstorage
  2. 我认为最好的替代方法是使用cookies

您可以从这里https://www.w3schools.com/js/js_cookies.asp了解如何使用Cookie

对于angularJS https://docs.angularjs.org/api/ngCookies/service/ $ cookies

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM