$sessionStorage 以及如何在 AngularJs 中查看和使用 $sessionStorage

Posted

技术标签:

【中文标题】$sessionStorage 以及如何在 AngularJs 中查看和使用 $sessionStorage【英文标题】:$sessionStorage and how to view and work with $sessionStorage in AngularJs 【发布时间】:2017-08-30 20:59:34 【问题描述】:

我一直在做一些关于 cookie、sessionStorage、localStorage 的研究,但对 $sessionStorage 的了解很少。

在开发者工具中哪里可以查看 $sessionStorage(如果可以的话)? 还是有替代方案,甚至更好的方法?

我在我的应用程序中使用 AngularJs 的 $sessionStorage 来协助用户体验,跟踪过滤器和日期等。

我在 Chrome 的 Application>>Local Storage、Session Storage Cookies 和所有其他选项下查找了这些参数,但找不到我的 APP 定义的 $sessionStorage 值。他们虽然工作! :D

更新:以下是使用示例:

CookiesAlertController.$inject = ['$scope','$http','$sce','$sessionStorage','GetDataService'];

function showAlert() 
    if (!angular.isDefined($sessionStorage.cookiesAlertNotificationCount)) 
        $sessionStorage.cookiesAlertNotificationCount = 0;
    
    if (angular.isDefined($sessionStorage.cookiesAlertNotification)) 
        if ($sessionStorage.cookiesAlertNotificationCount === false && $sessionStorage.cookiesAlertNotificationCount > 4) 
            $scope.cookiesAlertNotification = false;
        
        else 
            $scope.cookiesAlertNotification = true;
        
    
    else 
        $scope.cookiesAlertNotification = true;
    


$scope.closeNotification = function () 
    $scope.cookiesAlertNotification = false;
    $sessionStorage.cookiesAlertNotification = false;
    $sessionStorage.cookiesAlertNotificationCount = $sessionStorage.cookiesAlertNotificationCount + 1;
;

【问题讨论】:

需要的时候主要是Chrome和一些IE How to view or edit localStorage的可能重复 @Rohit 我不这么认为。我可以很好地访问和查看本地和会话存储。问题是;我看不到我在 Angular 的 $sessionStorage 中使用的项目。 大家好。我觉得没有必要否决我的问题。我相信我清楚地表明我指的是 Angular 的 $sessionStorage 而不是 $window.sessionStorage。请重新考虑。 别担心我赞成你的问题!你的问题是合法的! 【参考方案1】:

$sessionStorage 是一个 AngularJs 服务,位于:https://github.com/gsklee/ngStorage

它允许您读取和写入$localStorage$sessionStorage,在会话的生命周期内使用这些存储的参数。

您将无法通过开发工具查看这些 $sessionStorage$localStorage 项目,但您可以通过在代码中将其分配给 variable 来查看这些值。

示例:

var whatIsInMyStorage = $localStorage; // or $sessionStorage; 

你也可以通过调用来清除这些存储项:

$sessionStorage.$reset();
$localStorage.$reset();

我希望这对其他人有所帮助。

【讨论】:

以上是关于$sessionStorage 以及如何在 AngularJs 中查看和使用 $sessionStorage的主要内容,如果未能解决你的问题,请参考以下文章

cookie,session以及localStorage,sessionStorage的区别

Cookiesession和localStorage以及sessionStorage之间的区别

Cookiesession和localStorage以及sessionStorage之间的区别

Cookiesession和localStorage以及sessionStorage

session,cookie,sessionStorage,localStorage的相关设置以及获取删除

如何在 chrome 控制台中查看 $window.sessionStorage 的属性