UWP WebView中的Xterm.js-以编程方式粘贴

时间:2019-10-21 02:20:28

标签: uwp xtermjs

我正在开发基于Xterm.js的终端应用程序,该应用程序在UWP WebView中运行。一切正常,我可以使用Ctrl + V将任何文本粘贴到终端上-看起来它是由Xterm.js自动处理的。

但是我无法实现“粘贴”菜单选项。我尝试做类似的事情:

sources.map { case source => replaces.foldLeft(source) { case (acc, CodeAndReplacer(sub, rep)) => acc.replaceAll(sub, rep) } }

(根据https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand),但没有运气。什么都不会粘贴,并且调用返回空字符串。

有什么想法如何从UWP应用程序菜单实现粘贴?谢谢!

1 个答案:

答案 0 :(得分:1)

这不是WebView的问题,因为我是从xterm.js的github issue找到的。

您可以考虑发布Terminal对象,例如将其附加到window对象,以便可以从外部公开访问它,然后使用_webView.InvokeScriptAsync("eval",new string[] { "window.term.paste("some string") "});进行粘贴。

如果您不想公开终端对象,则可以将粘贴方法包装为公共函数,然后通过InvokeScriptAsync对其进行调用。

最诚挚的问候。