LocalStorage在Firefox上不起作用。收到安全性错误

时间:2018-11-08 22:51:15

标签: angular firefox local-storage

我正在尝试将一些信息存储在浏览器本地存储中。我的代码在 Chrome 上运行 fine ,但是,我在Firefox和Safari上遇到安全错误并收到警告

Firefox版本:63.0.1(64位)

从本地存储中检索数据时出现错误和警告: enter image description here

StackTrace:

ERROR DOMException: "The operation is insecure." EventDetailsComponent.html:1
View_EventDetailsComponent_0
EventDetailsComponent.html:1 proxyClass compiler.js:17129
./node_modules/@angular/core/fesm5/core.js/DebugContext_.prototype.logError
core.js:20684
./node_modules/@angular/core/fesm5/core.js/ErrorHandler.prototype.handleError
core.js:12632
./node_modules/@angular/core/fesm5/core.js/ApplicationRef.prototype.tick/<
core.js:14878:54
./node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke
zone.js:388
./node_modules/zone.js/dist/zone.js/</Zone.prototype.run
zone.js:138

错误消息:

[WDS] Disconnected! vendor.js:157169:5 close

ERROR DOMException: "The operation is insecure." EventDetailsComponent.html:1
View_EventDetailsComponent_0 EventDetailsComponent.html:1 proxyClass

Request to access cookie or storage on “http://localhost:4200/” was blocked because we are blocking all storage access requests.

本地存储服务:

     public getFav(): FavoriteStorage[] {
return JSON.parse(window.localStorage.getItem('favlist'));

          }
private setLocalStorageFavList(favL: FavoriteStorage[]): void {
    window.localStorage.setItem('favlist', JSON.stringify({ favList: favL }));
  }

我尝试使用localStorage.setItem()/ getItem()代替window.localStorage.setItem()/ getItem()

1 个答案:

答案 0 :(得分:0)

  

localStorage与globalStorage [location.hostname]相同,其中   范围限于HTML5来源(方案+主机名+   非标准端口)

旧的Firefox行为存在错误,并且已修复该错误。按照规范,设置document.domain绝对不会对localStorage的行为产生任何影响,因此,在您的情况下,您尝试将localStorage设置为另一个域,这是不允许的。

有关详细信息,请参见https://bugzilla.mozilla.org/show_bug.cgi?id=495337和localStorage规范。

您可以在documentation

中阅读更多内容