diff --git a/extension/background.js b/extension/background.js index 781562d..0422e5c 100644 --- a/extension/background.js +++ b/extension/background.js @@ -15,6 +15,8 @@ chrome.extension.onMessage.addListener( function (request, sender, sendResponse) { if ( request.command == 'setClipboard' ) { copyToClipboard(request.data); + } else if ( request.command == 'updateContextMenus' ) { + updateContextMenus(); } } ); @@ -95,7 +97,7 @@ function onMenuItemClick(contextMenuIdList, info, tab) { copyToClipboard(linkText); } -window.addEventListener('load', function () { +function updateContextMenus() { var contextMenuIdList = {}; chrome.contextMenus.removeAll(); @@ -122,5 +124,8 @@ window.addEventListener('load', function () { var n = Number(info.menuItemId.split(/-/).pop()); onMenuItemClick(contextMenuIdList, info, tab); }) +} +window.addEventListener('load', function () { + updateContextMenus(); }, false); diff --git a/extension/options.js b/extension/options.js index b2b30c5..6480649 100644 --- a/extension/options.js +++ b/extension/options.js @@ -15,6 +15,11 @@ window.addEventListener( 'load', function () { ctable._listener.onUpdated = function () { var json = ctable.serialize(); localStorage[localStorageKey] = json; + + // Update context menus + chrome.extension.sendMessage({ + command: 'updateContextMenus', + }); } window.ctable = ctable; }catch(e){