Ton*_*ark 2 html javascript google-chrome google-chrome-extension
我正在制作一个Chrome扩展程序,其中包含执行以下操作的内容脚本:
理想情况下,应为每个选项卡调用函数"a",但仅为聚焦的选项卡调用函数"b".
我已经研究了几种这样做的方法,我发现的最接近的解决方案是: 如何使用Javascript检测Chrome中何时关注选项卡?
但是,当我尝试使用outerHeight/innerHeight方法时,它给了我一些非常奇怪的结果.当窗口失焦时,我得到0为outerHeight.这对我来说似乎更像是一个错误,所以我不确定我是否可以使用它来确定标签是否失焦.
有没有人有这个很好的解决方案?
不知道仅内容脚本解决方案,但这可以通过后台页面的帮助轻松完成:
content_script.js:
function task() {
chrome.extension.sendRequest("is_selected", function(isSelected) {
if(isSelected) {
//this tab in focus
} else {
//not in focus
}
});
}
setInterval(task, 5000);
Run Code Online (Sandbox Code Playgroud)
background.html:
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if(request == "is_selected") {
chrome.tabs.getSelected(null, function(tab){
if(tab.id == sender.tab.id) {
sendResponse(true); //in focus (selected)
} else {
sendResponse(false); //not in focus
}
});
}
});
Run Code Online (Sandbox Code Playgroud)