当前位置: 首页 > wzjs >正文

淘宝客 网站 备案推广软件

淘宝客 网站 备案,推广软件,怎么做卖辅助网站,比特币网站怎么做1、主动 在 VSTO(Word 外接程序)中,你可以通过监听 Word 的选中事件,并主动把选中的内容传给 WebView2。WebView2 无法**主动访问** Word 的选中内容(它是独立运行的浏览器内核),所以需要在宿主…

1、主动

在 VSTO(Word 外接程序)中,你可以通过监听 Word 的选中事件,并主动把选中的内容传给 WebView2。WebView2 无法**主动访问** Word 的选中内容(它是独立运行的浏览器内核),所以需要在宿主控件(`UcWordAiTaskPane`)中**通过 C# 代码推送选中内容给 WebView2**。### ✅ 实现思路如下:---### 🧩 第一步:监听 Word 的选中变化(SelectionChange)在 `ThisAddIn.cs` 中注册事件:```csharp
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{this.Application.WindowSelectionChange += Application_WindowSelectionChange;
}
```---### 🧩 第二步:处理选中变化,获取选中文本,并传给 Uc 控件```csharp
private void Application_WindowSelectionChange(Word.Selection Sel)
{string selectedText = Sel?.Text ?? "";// 找到当前任务窗格中的控件(你可能要根据文档或窗口关联获取正确的控件)foreach (CustomTaskPane pane in Globals.ThisAddIn.CustomTaskPanes){if (pane.Control is UcWordAiTaskPane uc && pane.Visible){uc.SendSelectedTextToWebView(selectedText);}}
}
```---### 🧩 第三步:`UcWordAiTaskPane` 中定义方法,将内容传给 WebView2```csharp
public void SendSelectedTextToWebView(string text)
{string js = $"window.dispatchEvent(new CustomEvent('wordSelectionChanged', {{ detail: {System.Text.Json.JsonSerializer.Serialize(text)} }}));";webView21.ExecuteScriptAsync(js);
}
```这样,WebView2 页面内就能监听 `wordSelectionChanged` 事件来处理:---### 🧩 第四步:WebView2 中 JavaScript 监听事件```html
<script>
window.addEventListener("wordSelectionChanged", (e) => {const text = e.detail;console.log("选中的文本:", text);// 你可以做进一步的处理,如显示、分析、发送到服务器等
});
</script>
```---### ✅ 整体流程总结:1. Word 中选中内容 => 触发 `WindowSelectionChange`
2. C# 获取选中内容 => 调用 WebView2 的 JS(通过 `ExecuteScriptAsync`)
3. JS 中监听事件并处理内容---如你还想支持**点击按钮刷新当前选中内容**,也可以通过按钮触发:```csharp
var text = Globals.ThisAddIn.Application.Selection.Text;
uc.SendSelectedTextToWebView(text);
```

2、被动

## ✅ 实现方案概览1. WebView2 中的网页按钮点击后,用 `window.chrome.webview.postMessage()` 向宿主发送请求。
2. VSTO C# 端在 `WebMessageReceived` 事件中捕获消息,获取 Word 当前选中的文本。
3. 用 `ExecuteScriptAsync` 把选中的文本返回给 WebView2 页面。---## 🧩 步骤一:Web 页面代码(嵌入 WebView2)```html
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>AI 文档助手</title>
</head>
<body><button id="getSelectionBtn">获取 Word 选中内容</button><pre id="output"></pre><script>// 点击按钮向 VSTO 发消息document.getElementById('getSelectionBtn').addEventListener('click', () => {window.chrome.webview.postMessage({ type: "getSelection" });});// 接收来自 VSTO 的响应window.addEventListener("wordSelectionChanged", (e) => {document.getElementById("output").textContent = e.detail;});</script>
</body>
</html>
```---## 🧩 步骤二:C# 中注册 WebView2 的消息监听事件在 `UcWordAiTaskPane.cs` 中添加如下逻辑:```csharp
public partial class UcWordAiTaskPane : UserControl
{public UcWordAiTaskPane(){InitializeComponent();webView21.CoreWebView2InitializationCompleted += WebView21_CoreWebView2InitializationCompleted;}private void WebView21_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e){if (webView21.CoreWebView2 != null){webView21.CoreWebView2.WebMessageReceived += CoreWebView2_WebMessageReceived;}webView21.CoreWebView2.Navigate("your_local_or_embedded_page.html");}private void CoreWebView2_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e){var message = e.WebMessageAsJson;// 简单判断消息类型if (message.Contains("\"type\":\"getSelection\"")){string selectedText = Globals.ThisAddIn.Application.Selection?.Text ?? "";SendSelectedTextToWebView(selectedText);}}public void SendSelectedTextToWebView(string text){// 发送事件回网页,传回选中内容string escaped = System.Text.Json.JsonSerializer.Serialize(text); // 自动处理引号等string js = $"window.dispatchEvent(new CustomEvent('wordSelectionChanged', {{ detail: {escaped} }}));";webView21.ExecuteScriptAsync(js);}
}
```---## ✅ 效果
* Web 页点击按钮 ➜ 向宿主请求选中内容
* 宿主获取 Word 的选中文本 ➜ 回传给 Web 页
* Web 页展示选中内容(或用于其他用途)

http://www.dtcms.com/wzjs/158440.html

相关文章:

  • 和县建设局网站短视频推广
  • 宁波市住房和城乡建设局网站首页百度搜题在线使用
  • 甘肃省环保建设申报网站网站排名优化工具
  • 网站建设在哪些小说百度风云榜
  • 免费建网站可以找哪家英文网站网络推广营销技巧
  • 建设网站前期准备工作品牌运营策划
  • 阿里云部署一个自己做的网站郑州网站顾问热狗网
  • 关于网站建设管理的规定店铺seo是什么意思
  • 宁波seo哪家最便宜seo外链友情链接
  • 数据库型网站中国免费网站服务器主机域名
  • 海口专业做网站百度推广代理商查询
  • 找别人做网站需要什么信息网上怎么做推广
  • c 网站建设综合报告网站优化推广seo公司
  • 一次性筷子网站建设青岛百度推广多少钱
  • 成都网站建设哪里好点亚马逊免费的关键词工具
  • 安装钢结构网架公司seo兼职工资一般多少
  • 服务器ip做网站搜索营销
  • 全美网站建设舆情管理
  • 做网站能给公司带来什么好处搜索引擎优化的具体措施
  • 用电脑做网站西安网站seo服务
  • 数据需求 网站建设自媒体平台注册入口
  • 做网站费用列入什么科目seo优化推广专员招聘
  • 网站制作和收费标准搜索引擎有哪些分类
  • 制作网站建设百度权重10的网站
  • 怎样注册个人网站dw网站制作
  • 瑞安做微网站小程序开发流程详细
  • 凡科网站可以做seo优化新闻发稿平台有哪些
  • .net做网站用mvcseo管理与优化期末试题
  • 做网站一定需要虚拟主机吗xp优化大师
  • 天津市做公司网站的公司营销的方法手段有哪些