2015-10-09 10 views
9

Sto sviluppando un'estensione per Chrome e in precedenza, per ricaricare il nuovo codice, andavo semplicemente su chrome: // extensions/e premevo CMD + R. Ora questo non sta ricaricando l'estensione e devo fare clic manualmente (con un mouse !!!) sul collegamento CMD + R.CMD + R non funziona più in chrome: // extensions/

Questo è piuttosto fastidioso e non è sicuro quali sono state le ragioni di questo cambiamento. Qualcuno sa di una soluzione alternativa?

MODIFICA: sembra essere stato risolto nelle versioni di Chrome recenti.

+0

Stesso problema. Questo rallenta davvero dev down. –

risposta

0

Huh, vero. Prima funzionava. Si noti che questo ha ricaricato le estensioni tutte.

In ogni caso, ci sono molte estensioni che lo faranno per te, ad es. this one o molti altri.

Se sei interessato a creare la tua soluzione, chrome.management API può farlo.

+0

L'estensione sopra non funziona per me. Fa lo stesso CMD + R globale che in realtà non funziona. Daremo un'occhiata all'API chrome.management –

0

Ecco un'estensione piuttosto semplice che ha definito due scorciatoie per ricaricare tutte le estensioni: Ctrl+Shift+R e Alt+R. Sfortunatamente, non possiamo ridefinire 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); 
     }); 
    } 
    }); 
} 
Problemi correlati