1

我有这段代码来处理来自浏览器的CTRL+ V,工作正常但是我需要像这样获取剪贴板数据:

    Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
        @Override
        public void onPreviewNativeEvent(Event.NativePreviewEvent event)
        {
            NativeEvent ne = event.getNativeEvent();
            // When CTRL + V is pressed
            if (event.getNativeEvent().getKeyCode() == 86 && // 'V'
                    event.getNativeEvent().getCtrlKey() == true) {
                // need to get the clipboard data
            }
        }
    });
4

2 回答 2

1

JavaScript 本身不允许简单地读取系统剪贴板,因为这将是一个巨大的安全风险。然而,大多数浏览器确实提供了实现这一点的方法(尽管它必须由用户启用)。因此,API 依赖于浏览器。对于 Firefox,请查看https://developer.mozilla.org/en-US/docs/Using_the_Clipboard

据我所知,此功能没有特定于 GWT 的包装器。因此,您需要使用 GWT JSNI ( http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html )

于 2013-09-03T19:31:07.273 回答
-1

虽然我是将这个问题标记为重复的人,但我认为该问题的答案可能有点过时了。当我谷歌时,我发现了这个讨论。那里的答案解决了 JSNI 的问题,但他们说它在 FF 中不起作用,因为 FF 需要手动启用限制。如果这没有帮助,您可能必须使用副本中的答案。

于 2013-09-03T18:46:03.800 回答