Chrome扩展程序自动刷新选项页面用户界面

西蒙

在扩展程序的选项页面中,我显示登录人员的用户名以及注销选项。如果他们注销,我将显示一个链接,要求他们登录。除了能够通过选项页面登录之外,他们还可以通过popup.html进行登录。登录状态存储在localStorage中,我可以从选项页面js中访问该状态。

我希望能够以某种方式侦听对此状态的更改,并相应地更新UI。如果通过选项页面进行更改,那么我当然可以更改它。但是,问题在于用户是否已经在选项页面上通过弹出窗口登录。在这种情况下,我仍然希望更改选项页面UI,以反映更新的登录状态。我想到了两种不同的方法:

(1)每当我更改登录状态时,让后台脚本使用chrome.runtime.sendMessage()向选项脚本发送一条消息。

(2)在localStorage上添加一个侦听器,该侦听器在更改登录状态时将触发。

我尝试了两种方法,但都失败了。如何根据可从扩展程序中不同脚本更改的localStorage变量的值自动刷新选项页面的UI?

答案可能在(1)或(2)中,但是我对chrome扩展的经验有限,因此我可能会在编程上出错并放弃得太早。任何帮助,将不胜感激。

西蒙

因此,我找到了一个答案,使我可以在后台和选项页面脚本之间向我发送消息。我以前曾尝试使用chrome.runtime.sendMessage等...,但是在实现它的方式上肯定犯了一个错误。

options.js脚本:

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
    switch(request.type) {
        case "loggedin-status-change":
            alert(request.data.myProperty);
        break;
    }
    return true;
});

和background.js脚本:

chrome.extension.sendMessage({
    type: "loggedin-status-change",
    data: {
         myProperty: "1"
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Chrome扩展程序用户界面

Chrome扩展程序选项

Chrome扩展程序:带有参数的启动选项页面

获取页面用户的DOM元素的Chrome扩展程序正在访问

选择选项后页面自动刷新

关闭Chrome扩展程序选项

自动安装Chrome扩展程序

更新网址而不刷新Chrome扩展程序中的页面

刷新页面后才加载Chrome扩展程序内容脚本

Chrome扩展程序检测Google搜索刷新

在 newtab chrome 扩展中设置选项页面

chrome扩展程序中的选项卡更改时的页面内容

Chrome扩展程序弹出窗口和选项页面的默认样式表在哪里?

如何使用新的OptionsV2方法调试Chrome扩展程序的“选项”页面?

点击事件在Chrome扩展程序选项页面中不起作用

如何限制用户在Chrome扩展程序的选项中输入浮点数

将用户输入作为选项保存到代码中-Google Chrome扩展程序

如何根据Chrome扩展程序中的用户选项修改HTTP请求标头?

Chrome扩展程序仅在当前选项卡中更改用户代理

用户访问特定网站时,如何自动将网址保存在Google Chrome扩展程序中?

用户重新加载页面后如何执行代码?(Chrome 扩展程序)

如何自动重新加载chrome扩展程序?

如何自动启用Chrome扩展程序?

Chrome扩展程序不会自动更新

如何自动启用Chrome扩展程序?

Chrome扩展程序自动提交表单

Chrome扩展程序的自动化功能?

刷新页面,直到它更改 chrome 扩展

从Google Chrome扩展程序调用页面功能