如何在 chrome 扩展程序中获取选项卡通知,以便扩展程序可以在每次新通知到达时显示桌面警报
Posted
技术标签:
【中文标题】如何在 chrome 扩展程序中获取选项卡通知,以便扩展程序可以在每次新通知到达时显示桌面警报【英文标题】:How can I get tab notifications in chrome extension, so that the extension can show desktop alert each time when new notification arrives 【发布时间】:2011-09-28 08:22:53 【问题描述】:是否可以通过 google chrome 扩展读取标签通知(facebook、twitter、gmail 等显示通知计数)。这样我就可以在收到新通知时显示桌面警报。
【问题讨论】:
【参考方案1】:您可以通过定期检查所有相关选项卡的标题、提取当前通知编号(如果可用)并在检测到通知数量发生变化时通知用户来做到这一点。
但是,根据您执行此检查的频率,用户可能会在您之前注意到。另一种方法是使用content scripts 注入javascript(同样,仅到相关页面-facebook 等),当检测到一个时,它会监听页面的title
元素和sends a message 的变化到您的背景页面然后应该会显示一个桌面通知。
我不知道这最初是否可行,因为我不知道可以收听 title
的更改,但快速的 Google 提供了这个答案;
how to listen for changes to the title element?
因此,您需要做的就是更改该问题答案中的代码,以向您的后台页面发送消息,而不是显示警报。例如;
function titleModified()
chrome.extension.sendRequest(
title: document.title
);
后台页面必须有一个onRequest 侦听器,然后它会尝试解析收到的标题并确定是否已发出通知。
请记住在您的清单中正确设置permissions,以便在您的用户位于目标站点以及使用desktop notifications 时注入JavaScript。
【讨论】:
以上是关于如何在 chrome 扩展程序中获取选项卡通知,以便扩展程序可以在每次新通知到达时显示桌面警报的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 chrome.tabs.getCurrent 在 Chrome 扩展程序中获取页面对象?
在 Chrome 中单击浏览器通知时如何自动聚焦浏览器选项卡?