当我处于隐身模式时,我在Safari上获得secrets.urls
。
但他们谈论setItem,我在其他地方得到了这个错误。
我在此行收到此错误:<tbody>
<tr *ngFor="let eachRow of rowsInAMonth">
<td *ngFor="let eachDay of eachRow;" (click)="selectedDates(eachDay)"
[style.color]="eachDay.color">
{{eachDay ? eachDay.date : ''}}
</td>
</tr>
</tbody>
或QuotaExceededError (DOM Exception 22): The quota has been exceeded.
我尝试合并this answer并将localStorage['gallery.extensions'] = JSON.stringify({});
之类的每一行替换为localStorage['asdf'] = 'asdfg';
,并将localStorage['asdf'] = 'asdfg';
之类的每次访问替换为localStorage.setItem('asdf', 'asdfg')
,但这并不是localStorage['asdf']
。帮助。
答案 0 :(得分:8)
您无法在隐身模式下使用本地存储空间。通过在try / catch中包装setItem或getItem调用,可以帮助您的代码处理本地存储的失败使用情况,然后提醒用户他们需要以非私有模式使用您的应用程序。
您获得的错误是设计上的。
答案 1 :(得分:8)
接受的答案不正确。当 localStorage.setItem 内存不足并引发错误时会发生这种情况。正如另一位评论者所写,始终将 setItem 包装在 try {} catch() {}