这是一个上下文菜单项,单击该菜单项应依次调用两个功能。第一个函数是 toggleTempWhitelistStateOfHighlightedTab() ,第二个函数是 suspendAllTabsInAllWindows(true) 。当我仅调用一个函数时,它可以工作,但是我调用两个函数的语法不正确。 onclick: 行上出现了问题。
chrome.contextMenus.create({
title: chrome.i18n.getMessage('js_context_force_suspend_all_tabs'),
contexts: allContexts,
onclick: () => toggleTempWhitelistStateOfHighlightedTab(), suspendAllTabsInAllWindows(true),
});
答案 0 :(得分:1)
我认为您缺少一些东西:
chrome.contextMenus.create({
title: chrome.i18n.getMessage('js_context_force_suspend_all_tabs'),
contexts: allContexts,
onclick: () => { toggleTempWhitelistStateOfHighlightedTab(); suspendAllTabsInAllWindows(true) }
});
答案 1 :(得分:0)
您在此处使用JavaScript的Arrow Function格式没有{}括号。
但是,在这种情况下,您只能在右侧使用一个表达式(它将成为返回值)。
如果需要多个语句,则需要使用方括号/分号:
() => {toggleTempWhitelistStateOfHighlightedTab(); suspendAllTabsInAllWindows(true)}
注意:从逻辑的角度来看,最好具有命名处理程序函数。它看起来更干净,简洁并非总是最好的方法。
function suspend_all_tabs_click() {
toggleTempWhitelistStateOfHighlightedTab();
suspendAllTabsInAllWindows(true)
}
chrome.contextMenus.create({
title: chrome.i18n.getMessage('js_context_force_suspend_all_tabs'),
contexts: allContexts,
onclick: suspend_all_tabs_click
});