2012-09-25 18 views
3

我在Eclipse 3.8中使用基於XULRUNNER 10.0的SWT瀏覽器。SWT瀏覽器XULRUNNER 10:如何啓用JavaScript訪問系統剪貼板

我想配置嵌入式瀏覽器以啓用通過javascript訪問系統剪貼板。

在我的嵌入式瀏覽器上運行的Web應用程序中,我使用CKeditor 3,並且我想使用複製/剪切/粘貼功能。

我不能使用JavaXPCOM接口,因爲不支持XULRunner的10.0版本。

如何以編程方式或者通過配置文件實現這個功能?

回答

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密鑰。