Ale*_*tri 5 google-chrome-extension
我有一个实现浏览器操作的扩展。当然,浏览器的动作是一直可见的,但是在某些url中具有特殊的意义。所以,我使用过滤的事件来监听这些 url 并设置正确的徽章
chrome.webNavigation.onDOMContentLoaded.addListener(
function(tab){
chrome.browserAction.setBadgeText({
text:'bdge',
tabId: tab
});
},
{'url':[{hostSuffix: 'somedomain.com', pathPrefix: 'somePath/'}]}
);
Run Code Online (Sandbox Code Playgroud)
当用户从该页面导航出时,是否有一些“优雅”的方法来重置徽章,而无需监听每个标签导航?我应该执行一个内容脚本来挂起某个退出事件并发送消息吗?
非常感谢,
在我看来,一个好的解决方案是使用chrome.tabs.onUpdated.
在您的背景页面中,您会看到类似的内容:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
// using a regex or however else you want to test the URL
if (/somedomain\.com\/somePath\//.test(changeInfo.url)) {
chrome.browserAction.setBadgeText({
text: 'bdge',
tabId: tabId
});
} else {
chrome.browserAction.setBadgeText({
text: '',
tabId: tabId
});
}
});
Run Code Online (Sandbox Code Playgroud)
我知道您写了“不听每个选项卡导航”,但我不确定您为什么要避免这种情况。
| 归档时间: |
|
| 查看次数: |
1810 次 |
| 最近记录: |