【发布时间】:2021-08-23 10:31:52
【问题描述】:
我该怎么做
动态文档 = webView1.Document.DomDocument; 动态选择 = document.selection; 字符串文本 = selection.createRange().text; 返回文本;
在 webBrowser 中工作。
我需要在 WebView 浏览器中突出显示一个文本并返回它。
提前谢谢你。
【问题讨论】:
我该怎么做
动态文档 = webView1.Document.DomDocument; 动态选择 = document.selection; 字符串文本 = selection.createRange().text; 返回文本;
在 webBrowser 中工作。
我需要在 WebView 浏览器中突出显示一个文本并返回它。
提前谢谢你。
【问题讨论】:
在您的主机代码 (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 传递一个事件。
【讨论】: