如何自动重新加载我正在开发的 Chrome 扩展程序?
我希望每次在扩展文件夹中保存文件时,我的chrome扩展程序都可以重新加载,而不必在 chrome://extensions/ 中显式单击“重新加载”。这可能吗?
编辑:我知道我可以更新Chrome重新加载扩展程序的时间间隔,这是一个半途而废的解决方案,但我宁愿让我的编辑器(emacs或textmate)触发保存重新加载或要求Chrome监控目录的更改。
我希望每次在扩展文件夹中保存文件时,我的chrome扩展程序都可以重新加载,而不必在 chrome://extensions/ 中显式单击“重新加载”。这可能吗?
编辑:我知道我可以更新Chrome重新加载扩展程序的时间间隔,这是一个半途而废的解决方案,但我宁愿让我的编辑器(emacs或textmate)触发保存重新加载或要求Chrome监控目录的更改。
您可以使用 Chrome 的“扩展程序重新加载程序”:
使用扩展程序的工具栏按钮或通过浏览到“http://reload.extensions”重新加载所有未打包的扩展程序
如果您曾经开发过Chrome扩展程序,则可能希望自动执行重新加载解压缩的扩展程序的过程,而无需浏览扩展程序页面。
“扩展重新加载器”允许您使用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);
});