首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS会话存储

IOS会话存储
EN

Stack Overflow用户
提问于 2017-01-24 06:29:06
回答 1查看 2.8K关注 0票数 2

我的代码中有一些问题。我的web应用程序运行在AngularJs 1.5上。我有一个带购物车的网店。问题是,应该保存在sessionStorage中并在更新浏览器后恢复的数据在桌面浏览器上可以正常工作,但在iOS (测试过的Chrome和Safari)上完全不能工作。安卓(Chrome)也运行正常。当从iPhone检查MacOS Safari中的代码时,控制台没有抛出任何错误。代码如下:

代码语言:javascript
复制
(function(angular, loc) {
    var app = angular.module('myModule', ['ui.bootstrap','ui.mask'])    

    app.run(function($rootScope) {
       window.onbeforeunload = function(event) {
          $rootScope.$broadcast('savestate');
       };
    });

    app.factory('basket', ['$rootScope', function($rootScope) {

        var basketData = {
            content: []
        };

        function saveState() {
            sessionStorage.basket = angular.toJson(basketData.content);
        }
        function restoreState() {
            basketData.content = angular.fromJson(sessionStorage.basket);
        }
        $rootScope.$on("savestate", saveState);

        if (sessionStorage.basket) restoreState();

        return basketData;

    }]);

    ...

})(angular, window.location);
EN

回答 1

Stack Overflow用户

发布于 2017-01-24 09:10:24

问题是iOS Safari不支持not。Pagehide解决了这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41816822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档