网站修改图片链接,个人网站广告联盟搭建,wordpress自动粘贴图片,开发公司成本费用比例本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。免费使用 私有化部署免费下载#xff1a;https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269视频实拍#xff1a;演示升讯威在线… 本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。免费使用 私有化部署免费下载https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269视频实拍演示升讯威在线客服系统在网络中断直接禁用网卡拔掉网线的情况下也不丢消息不出异常。https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53对于在线客服与营销系统客服端指的是后台提供服务的客服或营销人员他们使用客服程序在后台观察网站的被访情况开展营销活动或提供客户服务。在本篇文章中我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。在 1.3 版本之前客服端程序使用的是 WebBrowser 组件也就是 IE 内核随时系统用户的持续增加我偶尔会收到一些细节问题的反馈比如在部分版本萝卜版番茄版毛桃版之类的 Windows 7 上客服必须先点击输入框上面的加粗或斜体等按钮才能激活输入框。经过调查发现是这部分 Windows 7 上 WebBrowser 组件所加载的 IE 内核存在问题表现出了一些行为的不一致。为了解决这个问题从 1.5 版本开始客服程序中的 Web 容器我升级到了最新的 Chrome 内核除了获得了更好的性能之外得以使程序在不同版本的 Windows 系统上的表现一致。1.5 版本之前的用户可以考虑尽快升级。先看下效果客服程序界面中的 聊天记录部分、文字输入框部分 使用的是基于 Chrome 内核的 WebView2 进行呈现的。而访客端则反之向下兼容在 PC 端兼容到 IE8 要实现这样的效果只需三个步骤嵌入组件响应事件调用 JavaScript 函数1. 嵌入组件首先使用 NuGet 将 WebView2 SDK 添加到项目中然后将 WebView 添加窗口界面。Window x:ClassWPF_Getting_Started.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:{YOUR PROJECT NAME}xmlns:wv2clr-namespace:Microsoft.Web.WebView2.Wpf;assemblyMicrosoft.Web.WebView2.Wpfmc:IgnorabledTitleMainWindowHeight450Width800
GridDockPanelwv2:WebView2 NamewebViewSourcehttps://www.microsoft.com//DockPanel/Grid
/Window2. 响应事件在网页导航期间WebView2 控件将引发事件。 承载 WebView2 控件的应用侦听以下事件。NavigationStartingSourceChangedContentLoadingHistoryChangedNavigationCompleted例修改构造函数以匹配以下代码段并添加 EnsureHttps 函数。public MainWindow()
{InitializeComponent();webView.NavigationStarting EnsureHttps;
}void EnsureHttps(object sender, CoreWebView2NavigationStartingEventArgs args)
{String uri args.Uri;if (!uri.StartsWith(https://)){args.Cancel true;}
}3. 调用 JavaScript 函数可以在运行时使用主机应用将 JavaScript 代码注入控件。 可以运行任意 JavaScript 或添加初始化脚本。 在删除 JavaScript 之前注入的 JavaScript 适用于所有新的顶级文档和任何子框架。例如添加在用户导航到非 HTTPS 网站时发送警报的脚本。 修改 EnsureHttps 函数以将脚本注入到使用 ExecuteScriptAsync 方法的 Web 内容中。void EnsureHttps(object sender, CoreWebView2NavigationStartingEventArgs args)
{String uri args.Uri;if (!uri.StartsWith(https://)){webView.CoreWebView2.ExecuteScriptAsync($alert({uri} is not safe, try an https link));args.Cancel true;}
}完成只需要以上简单三个步骤嵌入组件、响应事件、调用 JavaScript 函数。就可以完成 WPF Chrome 内核 的复合式应用程序