微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Quasar 浏览器插件中为跨浏览器重新启动而持续存在的选项卡创建唯一标识符?

如何解决如何在 Quasar 浏览器插件中为跨浏览器重新启动而持续存在的选项卡创建唯一标识符?

我正在编写一个 Quasar BEX 浏览器插件,并在 chrome.storage.local(和 Vuex;我想在未来使用本地数据库进行数据存储 if possible)中有一些数据应该绑定到特定的选项卡,并且即使在重新启动浏览器后仍保持链接。即使在浏览器重新启动后,特定选项卡也应显示特定数据(就像恢复浏览器会话时正常选项卡所做的一样)。

要将特定数据与特定选项卡相关联,我需要该选项卡的唯一标识符,该标识符可以在浏览器重新启动时保留或可以保留。


每次浏览器重新启动后都会重置 tabId,并且 sessions.setTabValue() 也仅使用 tabId。

This 在这里不起作用,因为索引也不是唯一的/浏览器重新启动后重置,并且所有 BEX 选项卡的选项卡“指纹”(和 url)通常应该相同。

我对如何解决这个问题的唯一想法是通过在散列后附加 UID(如 url#some-id)来更改 URL。但是,通过设置 document.location.href 或 window.location 或 window.location.hash(在 Quasar BEX 的后台挂钩方法中)来更改 URL 不起作用 - 它在 URL 地址栏中保留了普通的扩展 url并且只更改这些变量(因此,如果我关闭浏览器,则 URL 不变)。 window.history.pushState({},null,newUrl); 也没有更改地址栏中的 URL。编辑:也许 URL 已更改并在重新启动后仍然存在,但未显示在扩展 URL 的地址栏中?

URL 是扩展 URL(以 moz-extension:// 开头)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。