如何允许WebView中的CKEditor访问剪贴板?

时间:2013-05-03 13:22:07

标签: webview ckeditor javafx-2

我在JavaFX应用程序中使用了CKEditor 4.1.1实例' WebView。当我点击编辑器的粘贴按钮时,会打开一个窗口,告诉我浏览器的安全设置会阻止剪贴板访问。

由于此案例中的浏览器是WebView组件,如何更改相应设置以启用剪贴板访问?

security-settings

测试应用程序:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class SimpleWebView extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(Stage stage) {
    WebView webView = new WebView();
    webView.getEngine().load("http://ckeditor.com/demo");

    final Scene scene = new Scene(webView);
    stage.setScene(scene);
    stage.show();
  }
}

重现:

  1. 运行测试应用程序,ckeditor将显示。
  2. 键入来自外部编辑器(如记事本)的文本并复制文本。
  3. 按ckeditor工具栏右侧的第3个按钮。

1 个答案:

答案 0 :(得分:3)

这似乎是浏览器中运行的javascript文本编辑器的一般问题,而不是WebView特有的。

浏览器运行时的默认安全设置不允许通过JavaScript进行复制和粘贴。正如相关屏幕截图中显示的弹出窗口所示,用户仍然可以通过键盘快捷键手动将数据粘贴到编辑器中,只是粘贴按钮不会自动粘贴数据。

在Firefox和Chrome中,我的行为与WebView完全相同。在IE中,我得到一个提示,询问我是否要允许网页访问剪贴板,并且能够在单击“允许访问”提示时粘贴数据。

您可以针对JavaFX issue tracker运行时项目提交调整请求。请注意,该块有意作为安全相关功能实现,因此可能会拒绝此类功能请求。