【问题标题】:c# WebView2 ==> How to get selected text from WebView2 windowc# WebView2 ==> 如何从 WebView2 窗口中获取选定的文本
【发布时间】:2021-08-23 10:31:52
【问题描述】:

我该怎么做

动态文档 = webView1.Document.DomDocument; 动态选择 = document.selection; 字符串文本 = selection.createRange().text; 返回文本;

在 webBrowser 中工作。

我需要在 WebView 浏览器中突出显示一个文本并返回它。

提前谢谢你。

【问题讨论】:

标签: c# webview2


【解决方案1】:

在您的主机代码 (C#) 中,您可以调用 webView2.CoreWebView2.PostWebMessageAsJson() 将任意 JSON 编码的 Javascript 对象传递给浏览器环境中的 Javascript。

也许这样的事情可以告诉你的浏览器Javascript从你的剪贴板中获取文本。

webView2.CoreWebView2.PostWebMessageAsJson(
       "\"verb\":\"getclipboard\",\"format\":\"text\"}")

webView2.CoreWebView2.WebMessageReceived += MessageHandler;

private void MessageHandler 
          (object s, CoreWebView2WebMessageReceivedEventArgs e) {
    var clipboardText = e.TryGetMessageAsString();
}
 

在你的浏览器Javascript中你可以做

window.chrome.webview.addEventListener('message',  function (event) {
    const payload = event.data
    if (payload.verb === 'getclipboard') {
      /* do what you need to do with your clipboard */
      const clipboardText = 'whatever'
      windows.chrome.webview.postMessage(clipboardText);
} )

该 postMessage 将向您的主机 MessageHandler 传递一个事件。

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2021-06-28
    • 2022-09-29
    • 2021-03-27
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多