在 router.navigate Angular 16 中的 Navigationextras 中传递大量数据导致 Firefox 中出现错误

问题描述 投票:0回答:1

社区您好,我有一个问题,

我对“router.navigate(['some-url'], extras) 有疑问。

在这个额外对象中,我有一个状态,其中传递的列表可以具有不同的大小。

如果我通过一个小清单< 500 items, then it works smoothly in firefox and chrome.

现在我有一个包含 17k 项列表的案例,但它只能在 Chrome 中使用。

在 Firefox 中我收到错误:

错误错误:未捕获(承诺):[异常...“非法值”nsresult:“0x80070057(NS_ERROR_ILLEGAL_VALUE)”位置:“JS框架:: https://some-url/main.e9ce4132b9234a49.js :: 103 /l_/I :: 第 3 行数据:否]

在 Firefox 中,router.navigate...崩溃...

我不知道我可以尝试什么,但我希望它在两种浏览器中都能工作

angular google-chrome firefox
1个回答
0
投票

Firefox 状态对象中的字符数限制为 640k。

因为 Firefox 将状态对象保存到用户的磁盘中,以便可以 用户重新启动浏览器后恢复,我们施加大小限制 状态对象的序列化表示的 640k 个字符。 如果传递一个序列化表示较大的状态对象 比这个到pushState(),该方法将抛出异常。如果你 需要比这更多的空间,建议您使用 sessionStorage 和/或本地存储。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.