如何知道用户最近是否更新了他们的Chrome扩展程序,以便我提醒他们

因此,我有一个信息按钮,每当用户更新扩展程序时,右上角都会显示一个小红点,表示有警报(新更新)。

在此处输入图片说明在此处输入图片说明

我现在的操作方式是在每次查看更新时在localStorage中设置一行-如果未找到该行,则该按钮将带有红点。

问题是,此解决方案要求我在每次更新后每次启动更新时都更改几行,如下所示:

//1.1.2 was the last version
localStorage.removeItem("update-1.1.2");

...

if( localStorage.getItem("update-1.1.3") === null ) {
  //show button image with red dot
}
else {
  //show button image without red dot
}

...

$('#info').click(function() 
{
  localStorage.setItem("update-1.1.3", "YES");
  //swap the button image w/ red dot, with the same image w/o the red dot
});

如您所见,每次更新时,都必须在3个位置更改“ update-xxx”字符串。

所以我的两个问题是:-有更好的方法吗?也许是一种确定用户是否已更新扩展名的方法?-交换图片是解决此问题的最佳方法吗?还是我应该有一个红点图像并使其消失。在我看来,性能差异似乎很小-它取决于是否交换整个图像,或者使另一个图像隐藏/不隐藏更有效。

可汗

chrome.runtimeAPI可以为您提供两点帮助

  1. 您可以检测到扩展在更新后首次运行:

    chrome.runtime.onInstalled.addListener( function(details) {
      switch(details.reason) {
        case "install":
          // First installation
          break;
        case "update":
          // First run after an update
          break;
      }
    });
    
  2. 您可以从清单中提取版本号,而不必对版本号进行硬编码:

    chrome.runtime.getManifest().version
    

就是说,我认为当您有话要对用户说时,更新代码中的一些常量是完全合理的。

至于红点,您可以在调用时通过使用<canvas>andimageData属性来尝试使用动态构建的图标setIcon或者,为简单起见,请使用带有的徽章setBadgeText

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Chrome扩展程序中,如何从他们的Chrome浏览器中准确检索用户的区域/地区/国家/地区?

如果我取消了Outlook提醒,那么他们是否也因为我的同事而被取消?

每当他们的条目在谷歌表格中重复时,我需要阻止和提醒用户

如何防止网络上其他知道我的IP的用户访问我不希望他们访问的页面?

如何通知用户他们创建了重复记录,并询问他们是否要覆盖?

当他们说出某个命令时,我该如何提及他们?

如何允许我的应用程序的其他用户从他们的计算机访问 RDS?

如何配置Docker,以便用户只能停止他们启动的容器?

如何将特定于客户的登录名添加到我的网站,以便他们只能访问他们可以看到的页面

我需要我的代码来显示用户名、他们的 GPA,然后是他们的 GPA 乘以 10 的学分,并且需要程序打印报表

如何限制用户删除不是他们的帖子?

如何告诉用户他们输入了旧密码?

当我在JS中调用我的API的用户时,我该如何识别他们?

在Meteor中,无论他们是否登录,我如何识别连接/服务器上站点的用户?

如果我添加的用户没有主目录,那么他们是否有密码?

如何创建一个 Outlook 加载项,当用户尝试回复域外的发件人时提醒他们?

如何将登录的用户链接到他们的数据,如何在MySQL表中检索和更新他们

载体如何自我清理?(或者他们?)

提醒用户重设密码,但实际上不要使他们过期

是否可以允许(或扩展)IO 连接器以便他们可以读取以前的 PCollection 项目?

如何使用他们的 id 检查用户是否是机器人?

在 django 应用程序中,如何防止用户删除不是由他们创建的内容?

HotJar如何生成他们的录音?

敌人死后如何使他们丢钱?

我如何让用户能够制作他们的私人播放列表?

我应该如何处理用户在 Firebase 存储中更改他们的头像?

我如何要求用户确认他们要离开页面?

如何在 Java 中创建自动更正,让我在用户输入时替换他们?

如何使用 selenium 登录 chrome 他们在我使用它时注销