0

我的朋友要求我为 Chrome 制作一个应用程序,它要求我有上下文相关的菜单,如下所示:
在此处输入图像描述

我以前从未真正为 Chrome 做过任何东西,对此我有几个问题:

  1. 我一定要开发一个plug-in,对吧?
  2. 如果是这样,是否有我必须遵循的特定规则?

我知道我可以使用GWT将 Java 编译为 JavaScript
3。这个上下文相关菜单与JPopupMenu?

我要开发的应用程序很简单:
复制一些文本,
右键单击,单击上下文相关菜单
将简单的凯撒密码应用于文本,在其中
打开一个新JFrameJtextArea以显示加密文本。

4

2 回答 2

2
  1. 您正在创建的内容称为“扩展”,而不是“插件”。浏览器扩展是使用 HTML、CSS 和 Javascript 编写的,并且可以访问 API 以与浏览器直接交互。另一方面,
    插件是编译好的二进制文件,例如 Flash 和 Java。

  2. 放弃将 GWT 用于 Chrome 扩展的想法。它使扩展的开发更难,而不是更容易(开放问题)。特别是因为您会在文档和 Stack Overflow
    中找到大量原生 JavaScript 示例和教程。

你只需要知道相关的 API:

复制一些文本,右键单击,单击上下文相关菜单

使用chrome.contextMenus. 无需复制,所选文本在回调(示例)中可用。

将简单的凯撒密码应用于文本

创建一个 JavaScript 函数来实现这一点。

打开一个带有 JtextArea 的新 JFrame 以显示加密文本。

使用创建一个新窗口chrome.windows.create。您可以在扩展中包含一个额外的 HTML 页面,并使用消息传递 API来填充文本字段,但由于您似乎是一个完整的新手,我展示了一个简单的复制粘贴方法来创建和填充此窗口:

function displayText(title, text) {
    var escapeHTML = function(s) { return (s+'').replace(/</g, '&lt;'); };
    var style = '*{width:100%;height:100%;box-sizing:border-box}';
    style += 'html,body{margin:0;padding:0;}';
    style += 'textarea{display:block;}';
    var html = '<!DOCTYPE html>';
    html += '<html><head><title>';
    html += escapeHTML(title);
    html += '</title>';
    html += '<style>' + style + '</style>';
    html += '</head><body><textarea>';
    html += escapeHTML(text);
    html += '</body></html>'

    var url = 'data:text/html,' + encodeURIComponent(html);
    chrome.windows.create({
        url: url,
        focused: true
    });
}

不要忘记阅读入门以了解有关扩展程序基础架构的更多信息。

于 2013-05-25T17:28:13.190 回答
0

查看 Google Chrome 扩展Chrome 扩展

入门指南将帮助您入门

您将找到有关如何使用上下文菜单的部分。

于 2013-05-25T16:55:13.077 回答