我正在开发Chrome扩展程序,之前,为了重新加载新代码,我只想转到chrome:// extensions /并点击CMD + R.现在这不是重新加载扩展,我必须在CMD + R链接上手动点击(用鼠标!!!)。
这很烦人,不确定这种变化背后的原因是什么。有人知道解决方法吗?
编辑:似乎这已在最近的Chrome版本中得到修复。
答案 0 :(得分:2)
Ctrl + R被破坏是一个错误:https://code.google.com/p/chromium/issues/detail?id=526945
在修复错误之前,您可以使用How do I auto-reload a Chrome extension I'm developing?中的任何建议来重新加载扩展程序。
答案 1 :(得分:0)
无论如何,有很多扩展可以帮助你,例如this one或许多其他人。
如果您有兴趣制作自己的解决方案,chrome.management
API可以做到这一点。
答案 2 :(得分:0)
这是一个非常简单的扩展程序,定义了两个快捷键来重新加载所有扩展程序:Ctrl+Shift+R
和Alt+R
。很遗憾,我们无法重新定义Ctrl+R
。
manifest.json
:
{
"manifest_version": 2,
"name": "Extensions Reloader",
"short_name": "Extensions Reloader",
"description": "",
"version": "0.0.1",
"permissions": [
"<all_urls>",
"tabs",
"storage",
"management",
"http://*/*",
"https://*/*"
],
"commands": {
"reload1" : {
"suggested_key": {
"default": "Ctrl+Shift+R"
},
"description": "Reload all extensions"
},
"reload2" : {
"suggested_key": {
"default": "Alt+R"
},
"description": "Reload all extensions"
}
},
"browser_action": {
"default_icon": {
"19": "icon.png",
"38": "icon.png"
},
"default_title": "Reload all extensions"
},
"background": {
"persistent": false,
"scripts": [
"background.js"
]
}
}
background.json
:
chrome.commands.onCommand.addListener(function (command) {
console.log(command);
if (command == "reload1" || command == "reload2") {
reloadAll();
}
});
chrome.browserAction.onClicked.addListener(reloadAll);
function reloadAll() {
chrome.management.getAll(function(extensions) {
for (var i = 0; i < extensions.length; i++) {
var extension = extensions[i];
if (extension.id == chrome.runtime.id) {
continue;
}
if (!extension.enabled) {
continue;
}
var id = extension.id;
chrome.management.setEnabled(id, false, function() {
chrome.management.setEnabled(id, true);
});
}
});
}