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

Xterm.js in UWP WebView - paste programmatically

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

自动处理的

但我无法实现 "Paste" 菜单选项。我试过做类似的事情:

var value = await _webView.InvokeScriptAsync("eval", new []{"document.execCommand('paste')"});

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

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

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

可以考虑发布一个终端对象,比如附加到window对象上,这样就可以public从外部访问,然后使用_webView.InvokeScriptAsync("eval",new string[] { "window.term.paste("some string") "});粘贴。

如果不想暴露终端对象,可以将paste方法包装成public函数,然后通过InvokeScriptAsync.

调用

此致。