SWT 浏览器 XULRUNNER 10 : how to enable javascript to access to system clipboard

标签 swt eclipse-rcp ckeditor xulrunner

我在 Eclipse 3.8 中使用基于 XULRUNNER 10.0 的 SWT 浏览器。

我想配置嵌入式浏览器以启用通过 javascript 访问系统剪贴板。

在我的嵌入式浏览器上运行的 Web 应用程序中,我使用 CKeditor 3,我想使用复制/剪切/粘贴功能。

我不能使用 JavaXPCOM 接口(interface),因为不支持 XULRunner 10.0 版本。

如何以编程方式甚至通过配置文件实现此目的?

最佳答案

您必须为 xulrunner 引擎设置某些首选项。

首先,您必须访问 xulrunner 的 prefs.js 文件。这可以通过以下代码片段完成:

Class<?> loadClass = Activator.getDefault().getClass()
        .getClassLoader()
        .loadClass("org.eclipse.swt.browser.MozillaDelegate");
Method declaredMethod = loadClass
        .getDeclaredMethod("getProfilePath");
declaredMethod.setAccessible(true);
String profilePath = (String) declaredMethod.invoke(null);
File userPrefs = new File(profilePath + File.separator + "prefs.js"))

在此文件中,您必须设置以下键值:

capability.policy.policynames, allowclipboard
capability.policy.allowclipboard.Clipboard.cutcopy,allAccess
capability.policy.allowclipboard.Clipboard.paste,allAccess
capability.policy.allowclipboard.sites,file://

另见 http://kb.mozillazine.org/Granting_JavaScript_access_to_the_clipboard

注意:这仅在您的网站是本地网站时才有效。否则,您必须将域添加到 capability.policy.allowclipboard.sites 键。

关于SWT 浏览器 XULRUNNER 10 : how to enable javascript to access to system clipboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590201/

相关文章:

javascript - 用于从 CKEditor 中去除伪造 HTML 的客户端 Javascript 代码

javascript - 你如何从 CKEditor 中解绑一个事件?

java - SWT:在表格或树单元格中绘制 "icons"

java - 按 Enter 键后 Eclipse 向导关闭

javascript - SWT 浏览器未在 Eclipse View 中呈现 Angular 2 页面

java - Eclipse RCP 中应用程序范围的资源位置在哪里?

jquery - ckeditor 和 jquery UI 对话框不工作

windows - 如何为 Java SWT 应用程序实现类似 Google-chrome 的标题栏

java - 如何将月份信息文本更改为数字?

java - 虚拟表和 ViewerComparator 上的默认排序问题