首页 > 解决方案 > 字典中的 Nonce 简写导致资源管理器上的 script1003 错误

问题描述

我正在使用带有 AWS cognito 的 nonce 来保留状态。我遵循了 Medium文章中的示例

const nonce = auth.generateRandomString(auth.getCognitoConstants().STATELENGTH, auth.getCognitoConstants().STATEORIGINSTRING);
const state = {
    deepLink: window.location.href,
    nonce
};
console.log(state);

看起来“nonce”可以用作键值对的简写,如下面的控制台日志所示,尽管我不完全理解简写部分。

> deepLink:"https://example.com/mydeeplinkedpage.html"
> nonce: "iva3EtWzAZ92URHi9uXM6oqIEaagGOPO"

这导致资源管理器中出现“ script1003:预期的':' ”错误,我猜是因为它期望冒号跟随'状态'字典中的键'nonce'。

是否有在字典中包含 nonce 的长手,这样 Explorer 就不会爆炸?“nonce”是唯一可以在这样的字典中简写的东西吗?

标签: javascriptdictionarynonce

解决方案


其他人简短地留下了答案,由于某种原因它不再存在,所以我不能将此答案归因于他们。等效的普通方法如下,并且不会在 IE 中崩溃:

const state = {
    deepLink: window.location.href,
    nonce: nonce
};

根据评论中的@Bravo,只是 nonce 的简写并不特定于 nonce。


推荐阅读