(key: string)
| 57 | } |
| 58 | |
| 59 | function stampEntryKey(key: string): void { |
| 60 | try { |
| 61 | // 展开保留 Next 自己的 state 字段,只增补一个独立属性;省略第三参 url |
| 62 | // 不改变当前 URL(第二参为已废弃的 title,浏览器忽略)。 |
| 63 | window.history.replaceState({ ...readState(), __kbScrollKey: key }, ""); |
| 64 | } catch { |
| 65 | // 个别环境 replaceState 受限:退化为「这次不记忆」,不致命。 |
| 66 | } |
| 67 | } |
| 68 | |
| 69 | // Date.now 仅作可读前缀;keyCounter 单调递增才是唯一性保证(同毫秒也不撞)。 |
| 70 | function mintKey(): string { |
no test coverage detected