重新启动浏览器后,ngCookies不会保存cookie

var app = angular.module('MyApp', ['ngCookies']); app.controller('MyController', function ($scope, $window, $cookies) { $scope.WriteCookie = function () { $cookies.put("Name", $scope.Name); }; $scope.ReadCookie = function () { $window.alert($cookies.get('Name')); }; $scope.RemoveCookie = function () { $cookies.remove('Name'); }; }); 
 <html> <head> <title></title> </head> <body> <div ng-app="MyApp" ng-controller="MyController"> Name: <input type="text" ng-model="Name" /> <br /> <br /> <input type="button" value="Write Cookie" ng-click="WriteCookie()" /> <input type="button" value="Read Cookie" ng-click="ReadCookie()" /> <input type="button" value="Remove Cookie" ng-click="RemoveCookie()" /> </div> </body> </html> 

我写了这个简单的cookies应用程序的angular度。

每当我input这个(通过nodeJS),并转到此url: http : //127.0.0.1 : 8080

Cookie在浏览器的Cookie中被列出。 当我点击刷新或closures标签,并打开一个新的标签与此url(不closures浏览器)cookies保持。

但是,当我closures浏览器(chrome / IE / firefox)并再次打开这个URL时,cookies不在那里!

为什么? 我怎么能使它像Facebook一样,即使我撇开我的电脑,并再次启动它会记得我的login信息coockis?

谢谢

的index.html

 <html> <head> <title></title> </head> <body> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-cookies.min.js"></script> <script type="text/javascript"> var app = angular.module('MyApp', ['ngCookies']); app.controller('MyController', function ($scope, $window, $cookies) { $scope.WriteCookie = function () { $cookies.put("Name", $scope.Name); }; $scope.ReadCookie = function () { $window.alert($cookies.get('Name')); }; $scope.RemoveCookie = function () { $cookies.remove('Name'); }; }); </script> <div ng-app="MyApp" ng-controller="MyController"> Name: <input type="text" ng-model="Name" /> <br /> <br /> <input type="button" value="Write Cookie" ng-click="WriteCookie()" /> <input type="button" value="Read Cookie" ng-click="ReadCookie()" /> <input type="button" value="Remove Cookie" ng-click="RemoveCookie()" /> </div> </body> </html> 

这是因为如果您没有为cookie设置过期时间,则会将其创build为会话cookie。 closures浏览器后将立即删除。

为了避免这种情况,只需为cookie设置一个到期时间,例如在这里为一天:

 var expireDate = new Date(); expireDate.setDate(expireDate.getDate() + 1); $cookies.put('Name', $scope.Name, { expires: expireDate });