Javascript:延迟显示上下文菜单(Chrome)

时间:2010-09-06 00:45:59

标签: javascript events google-chrome contextmenu

我正在尝试在Chrome扩展程序中动态创建上下文菜单项;这涉及向主扩展进程发送请求以修改菜单,并阻止显示菜单直到发送响应。我整天都在尝试不同的解决方案,而我还没有想出一个有效的解决方案。例如,

node.oncontextmenu = initContext({...});

initContext = function(menuParams) {
  return function(event) {
    if (event.showContext) // Menu has been created and is ready for display
      return true;

    event.preventDefault(); // Block original menu event
    chrome.extension.sendRequest(menuParams, function() { // Send request to modify menu,
      event.showContext = true; // generate new event when menu is ready
      event.target.dispatchEvent(event);
    });
  };
};

菜单被preventDefault()阻止,当菜单准备好显示时,执行chrome.extension.sendRequest()的回调函数。使用此解决方案(以及我尝试过的所有其他解决方案),菜单永远不会显示。我很感激任何帮助。

0 个答案:

没有答案