1

我在编程方面还是个新手。我以前玩过 JavaScript,但对我来说仍然很棘手。

我想到了一个为谷歌浏览器扩展的好主意——将来把它移植到其他浏览器会很好。目前我认为谷歌浏览器将是最简单的开发方式。

我调查了一下,完成了扩展站点上的小猫教程

从那里开始它是有道理的——在大多数情况下很容易,但我的想法对我来说听起来是不可能的。简单地说,当窗口被选中或聚焦在屏幕上时,扩展程序会自动重新加载浏览器。每次开发人员检查代码更新时,无需按Ctrl+ R(PC) 或Cmd+ (Mac) 或重新加载按钮,从而节省时间。R

我正在阅读 API 文档并找到了方法 chrome.browserAction.onClick,有chrome.browserAction.focused吗?这个想法是否可行?

我还必须考虑到 Chrome 被多个操作系统访问。我想知道 Mac OS、Linux 和 Windows 版本是否需要不同的 JavaScript 指令来实现这一点?这个简单的想法是压倒性的......

感谢您提前输入:)

4

1 回答 1

1

听起来你会想使用chrome.windows.onFocusChanged

当前焦点窗口改变时触发。如果所有 chrome 窗口都失去焦点,则为 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);
            }
        });
    }
});

您还需要在清单中声明tabs权限

于 2013-08-08T07:51:01.177 回答