我在编程时仍然相当新。我以前玩过JavaScript,但对我来说仍然很棘手。
我对谷歌Chrome的扩展有了一个好主意 - 将来将它移植到其他浏览器会很不错。目前我认为Google Chrome将是最简单的开发方式。
我调查了一下并完成了kitties tutorial on the extensions site。
从那里开始它很有意义 - 大部分都很容易,但我的想法听起来不可能。简单地说,当选择窗口或聚焦在屏幕上时,扩展会自动重新加载浏览器。不按 Ctrl + R (PC)或 Cmd + R (Mac)或重新加载来节省时间每次开发人员检查代码更新时按钮。
我正在阅读API文档并找到了该方法
chrome.browserAction.onClick
,有chrome.browserAction.focused
吗?这个想法是否可行?
我还必须考虑多个操作系统访问Chrome。我想知道Mac OS,Linux和Windows版本是否需要不同的JavaScript指令来解决这个问题?这个简单的想法势不可挡......
感谢提前输入:)
答案 0 :(得分:1)
听起来你想要使用chrome.windows.onFocusChanged
:
当前焦点窗口发生变化时触发。如果所有镀铬窗口都失去焦点,则为chrome.windows.WINDOW_ID_NONE。注意:在某些Linux窗口管理器上,WINDOW_ID_NONE将始终在从一个chrome窗口切换到另一个窗口之前立即发送。
以下是如何重新加载新聚焦窗口的活动选项卡的示例:
chrome.windows.onFocusChanged.addListener(function(windowId) {
if (windowId != chrome.windows.WINDOW_ID_NONE) {
chrome.tabs.query({ active:true, windowId:windowId }, function(tabs) {
if (tabs.length == 1) {
var tab = tabs[0];
chrome.tabs.reload(tab.id);
}
});
}
});
您还需要在清单中declare the tabs
permission。