重新加载我正在开发的Chrome扩展程序?

每次我将文件保存在扩展文件夹中时,我都希望我的Chrome扩展能够重新加载,而不必在chrome:// extensions /中显式单击“重新加载”。 这可能吗?

编辑:我知道我可以更新Chrome重新加载扩展的时间间隔,这是一种中途解决方案,但我宁愿让我的编辑器(emacs或textmate)触发 - 保存重新加载或请求Chrome监控更改的目录。


您可以使用Chrome的“Extensions Reloader”

使用扩展程序的工具栏按钮或浏览到“http://reload.extensions”重新加载所有未打包的扩展程序

如果您曾经开发Chrome扩展程序,则可能希望自动完成重新加载解包扩展程序的过程,而无需通过扩展页面。

“Extensions Reloader”允许您使用2种方式重新加载所有未打包的扩展:

1 - 扩展程序的工具栏按钮。

2 - 浏览到“http://reload.extensions”。

工具栏图标将使用一次点击重新加载解压后的扩展。

“通过浏览重新加载”旨在使用“后期制作”脚本自动执行重新加载过程 - 只需使用Chrome将脚本添加到“http://reload.extensions”,即可使用Chrome浏览器刷新窗口。

更新:截至2015年1月14日,该扩展程序是开源的,可在GitHub上获得。


更新 :我添加了一个选项页面,以便您不必再手动查找和编辑该扩展程序的ID。 CRX和源代码位于:https://github.com/Rob--W/Chrome-Extension-Reloader
更新2:增加了快捷方式(请参阅我在Github上的存储库)。
包含基本功能的原始代码如下所示。


创建一个扩展,并使用浏览器操作方法与chrome.extension.management API一起重新加载解包的扩展。

下面的代码为Chrome添加了一个按钮,它会在点击后重新加载扩展程序。

manifest.json

{
    "name": "Chrome Extension Reloader",
    "version": "1.0",
    "manifest_version": 2,
    "background": {"scripts": ["bg.js"] },
    "browser_action": {
        "default_icon": "icon48.png",
        "default_title": "Reload extension"
    },
    "permissions": ["management"]
}

bg.js

var id = "<extension_id here>";
function reloadExtension(id) {
    chrome.management.setEnabled(id, false, function() {
        chrome.management.setEnabled(id, true);
    });
}
chrome.browserAction.onClicked.addListener(function(tab) {
    reloadExtension(id);
});

icon48.png :选择任何漂亮的48x48图标,例如:
Google Chrome http://icons.iconarchive.com/icons/google/chrome/48/Google-Chrome-icon.png


在任何功能或事件中

chrome.runtime.reload();

将重新加载您的扩展。 您还需要更改manifest.json文件,添加:

...
"permissions": [ "management" , ...]
...
链接地址: http://www.djcxy.com/p/16185.html

上一篇: reload a Chrome extension I'm developing?

下一篇: How to test chrome extensions?