diff --git a/src/background.js b/src/background.js index 7ae62866..896162d8 100644 --- a/src/background.js +++ b/src/background.js @@ -64,6 +64,8 @@ menu.OnClicked( ( info, tab ) => { browser.tabs.create({ url: browser.extension.getURL( "options/options.html#later" ) }); } else if ( info.menuItemId == "whitelist" ) { browser.tabs.sendMessage( tab.id, msg.Add( msg.MESSAGE_ACTION.menu_whitelist, {url: info.pageUrl } )); + } else if ( info.menuItemId == "exclusion" ) { + browser.tabs.sendMessage( tab.id, msg.Add( msg.MESSAGE_ACTION.menu_exclusion, {url: info.pageUrl } )); } else { if ( !tab.url.startsWith( "chrome://" ) ) browser.tabs.sendMessage( tab.id, msg.Add(info.menuItemId)); } diff --git a/src/contentscripts.js b/src/contentscripts.js index b654c54a..48ca2c71 100644 --- a/src/contentscripts.js +++ b/src/contentscripts.js @@ -112,9 +112,15 @@ browser.runtime.onMessage.addListener( function( request, sender, sendResponse ) localStorage.removeItem( "sr-update-site" ); break; case msg.MESSAGE_ACTION.menu_whitelist: - storage.read.whitelist.push( request.value.url ); - storage.Write( () => { + case msg.MESSAGE_ACTION.menu_exclusion: + if ( request.type == msg.MESSAGE_ACTION.menu_whitelist ) { + storage.read.whitelist.push( request.value.url ); new Notify().Render( "已加入到白名单。" ); + } else if ( request.type == msg.MESSAGE_ACTION.menu_exclusion ) { + storage.read.exclusion.push( request.value.url ); + new Notify().Render( "已加入到排除列表。" ); + } + storage.Write( () => { watch.SendMessage( "option", true ); }); break; diff --git a/src/module/labs.jsx b/src/module/labs.jsx index 92b3260a..97d4aa09 100644 --- a/src/module/labs.jsx +++ b/src/module/labs.jsx @@ -127,6 +127,10 @@ export default class LabsOpt extends React.Component { thumbedColor="#3F51B5" trackedColor="#7986CB" waves="md-waves-effect" label="是否显示「加入白名单」?" onChange={ (s)=>this.onChange(s, "option", "menu", "whitelist" ) } /> + this.onChange(s, "option", "menu", "exclusion" ) } />
聚焦模式
diff --git a/src/service/menu.js b/src/service/menu.js index bde5e74d..c75b75f8 100644 --- a/src/service/menu.js +++ b/src/service/menu.js @@ -13,6 +13,7 @@ const context = { link : { id: "", menu: {} }, list : { id: "", menu: {} }, whitelist : { id: "", menu: {} }, + exclusion : { id: "", menu: {} }, }, menu = { "type" : "normal", @@ -25,6 +26,7 @@ Object.assign( context.read.menu, menu, { id: "read", "title" : "阅读模式" Object.assign( context.list.menu, menu, { id: "list", "title" : "打开稍后读" }); Object.assign( context.link.menu, menu, { id: "link", "title" : "使用阅读模式打开此链接", contexts: [ "link" ] }); Object.assign( context.whitelist.menu, menu, { id: "whitelist", "title" : "将当前页面加入到白名单" }); +Object.assign( context.exclusion.menu, menu, { id: "exclusion", "title" : "将当前页面加入到排除列表" }); /** * Listen contextMenus message @@ -51,6 +53,9 @@ function createAll() { storage.option.menu.whitelist && ( context.whitelist.id = browser.contextMenus.create( context.whitelist.menu )); + + storage.option.menu.exclusion && + ( context.exclusion.id = browser.contextMenus.create( context.exclusion.menu )); } /** diff --git a/src/service/message.js b/src/service/message.js index 8846d175..650c9ba9 100644 --- a/src/service/message.js +++ b/src/service/message.js @@ -11,6 +11,7 @@ const action = { close_tab : "close_tab", menu : "menu", menu_whitelist : "menu_whitelist", + menu_exclusion : "menu_exclusion", updated : "updated", save_verify : "save_verify", storage : "storage", // only firefox diff --git a/src/service/storage.js b/src/service/storage.js index ba61a735..3160aaee 100644 --- a/src/service/storage.js +++ b/src/service/storage.js @@ -116,6 +116,7 @@ const name = "simpread", link : true, list : false, whitelist: false, + exclusion: false, }, origins : [], blacklist : [