如何创建持久性工具栏?

How to create persistent toolbar?

这是用于 Firefox (Waterfox) 中的 greasemonkey 用户脚本。

我们有一个云数据库 (CRM Dynamics),为了加载特定记录,浏览器使用不同的 URL 和参数执行三个页面加载。

我想从这些页面加载之一(在中间加载的那个)获取参数并将其显示在页面上的某处以供参考。所以我创建了一个 div 适合主功能区的正下方。

问题是,由于页面加载了三次,这意味着脚本加载了三次,所以我使用 GM_getValueGM_setValue 来存储和检索后续页面加载的数据。

然而,情况比这更糟。

有没有办法将我的工具栏-div 放在浏览器的 DOM 而不是页面的 DOM 中?这样每个页面加载都可以访问一个地方。

我想做的是以某种方式让第一页加载完成在第三页加载完成后做一些事情。

想通了! Brock Adam 的评论让我找到了解决方案。谢谢,布罗克。

所以我在第一页加载时计算代码 运行 并确保它这样做:

$(window).on('load', function () {
    console.log('updating itemid');
    $('#myd').text(GM_getValue("itemid"));
});

window.load 事件在每次页面加载时触发,因此当最后一次页面加载 运行 秒时,它会触发此加载事件并更新 div 文本。显然,此事件直到第三个页面加载完成后才会触发。