javascript - 如何在网页中的按钮上有一个突出显示的小图标来显示新的更新?
问题描述
我目前制作了一个 Java Web 应用程序。它有一个服务器(MyServer)和客户端(网页)。客户端向 MyServer 发出请求以获取一些信息。MyServer 现在向 Confluence API 服务器发出请求,以从我们 Confluence 空间中最新的 Confluence 页面获取信息。
当我们点击“What's New”按钮(在我们的客户端 - 网站中)时 - 我们的 Confluence 空间中的最新页面显示在 What's New Web 小部件中。用户可以点击 What's New 按钮,Confluence 页面的最新页面就会显示出来。
我现在想做的是——
- 每次进行新的更新时(无论是在同一个 Confluence 页面/或创建新的 Confluence 页面中的更改),我的“新增功能”按钮上都会显示一个突出显示的小图标。(请在附件中找到所需的示例图片 - 就像在任何聊天应用程序中一样{Whats app、FbMessanger 等收到新消息时})。
- 一旦我的特定用户看到新的更新,那个突出显示的小图标就会为该特定用户消失。
- 如果所有登录用户尚未打开新更新,则应首次向所有登录用户显示突出显示的小图标。如果 user1 打开它 - 该 user1 的突出显示的小图标应该消失(并且“What's New”按钮应该成为普通的非突出显示按钮)但是,如果 user2 没有打开这个突出显示的小图标,则应该保留它。
- 然后,如果我们在 Confluence 页面中进行新的更改并且 user1 还没有看到这个新的更新 - 突出显示的小图标应该再次为 user1 显示。
解决方案
关于您的问题的通用解决方案,
您需要实现 websockets 以获取来自后端的实时聊天通知
您可以编写 JavaScript 代码来定位元素,在本例中是通知图标。考虑它的 ID 是#notifIcon
隐藏
document.getElementbyId('notifIcon').style.display = 'none'
以显示
document.getElementbyId('notifIcon').style.display = 'block'
为了保持用户特定,您可以从数据库模式中获取数据并相应更新
再次使用 websockets 更新您的数据
推荐阅读
- karate - 空手道 UI 自动化 - 无法使用 xpath 单击元素
- javascript - 为什么 << 0 会删除 JavaScript 中数字的小数部分?
- c# - 如何检查是否使用可为空的泛型参数调用泛型函数
- python - 为什么我的 python 函数打印出 {}Main 而不仅仅是 Main?
- python - 如何检查输入的值是否存在于文件中的任何位置,然后打印?
- python - 向 pandas 数据框添加一行字符串,例如第二个列名
- python - 当我尝试在 Windows 上运行 flask db init 时出现迁移错误
- python - 仅打印 .txt 文件中的特定单词 - Python
- c# - 创建计算数字 T 平均值的通用类
- jquery - 使用 jQuery + HTML 进行网站搜索