首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WPF应用程序中为WebView的"ScriptNotify“添加允许的URI列表?

在WPF应用程序中,为WebView的"ScriptNotify"添加允许的URI列表,可以通过以下步骤实现:

  1. 首先,在XAML文件中创建一个WebView控件,并设置其Name属性为"webView",以便在后续的代码中引用。
代码语言:xaml
复制
<WebView x:Name="webView" />
  1. 在代码文件中,使用WebView的NavigationStarting事件来捕获WebView加载页面的开始事件,并在事件处理程序中添加允许的URI列表。
代码语言:csharp
复制
webView.NavigationStarting += WebView_NavigationStarting;

private void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
    // 获取当前要加载的URI
    Uri uri = args.Uri;

    // 检查URI是否在允许的列表中
    if (!IsUriAllowed(uri))
    {
        // 取消导航
        args.Cancel = true;
    }
}

private bool IsUriAllowed(Uri uri)
{
    // 在此处添加允许的URI列表的逻辑判断
    // 返回true表示允许导航到该URI,返回false表示禁止导航到该URI

    // 示例:允许导航到特定的URI
    string allowedUri = "https://example.com";
    return uri.ToString().StartsWith(allowedUri);
}

在IsUriAllowed方法中,你可以根据需求自定义允许的URI列表的逻辑判断。例如,你可以使用字符串匹配、正则表达式等方式来判断URI是否符合要求。

  1. 在XAML文件中,为WebView控件添加一个WebView.ScriptNotify事件的处理程序。
代码语言:xaml
复制
<WebView x:Name="webView" ScriptNotify="WebView_ScriptNotify" />
  1. 在代码文件中,实现WebView.ScriptNotify事件的处理程序,用于处理来自WebView的脚本通知。
代码语言:csharp
复制
private void WebView_ScriptNotify(object sender, NotifyEventArgs e)
{
    // 处理来自WebView的脚本通知
    string message = e.Value;

    // 在此处添加处理脚本通知的逻辑
}

通过以上步骤,你可以在WPF应用程序中为WebView的"ScriptNotify"添加允许的URI列表。在NavigationStarting事件中,你可以根据自定义的逻辑判断是否允许导航到特定的URI。在ScriptNotify事件中,你可以处理来自WebView的脚本通知。

关于腾讯云相关产品,推荐使用腾讯云的云服务器(CVM)和云数据库MySQL(CDB)来支持WPF应用程序的后端服务和数据存储需求。你可以访问腾讯云官网了解更多关于云服务器和云数据库MySQL的详细信息:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows 8.1 应用再出发 - 创建我第一个应用

Properties目录AssemblyInfo.cs文件控制程序集常规信息,程序集标题、描述、公司、版权和版本等; 引用是大家都很熟悉一个目录,我们对其他程序集引用都会列在这里,我们可以添加引用或删除引用...声明 主要添加应用可用声明,例如我们需要实现搜索协议,就要添加“搜索”声明,然后填写相关属性。 ? 5. 内容 URI 主要添加可向应用程序发送ScriptNotify事件HTTPS URI。...因为Windows 8.1 不支持 WebView 控件 AllowedScriptNotifyUris、AnyScriptNotifyUri 和 AllowedScriptNotifyUrisProperty...所以允许引发ScriptNotify事件URI都需要列在这里。 ? 6. 打包 主要指定安装包属性信息 ? 然后我们对MainPage做一些修改,尝试调试应用程序。...运行后,模拟器应用界面显示出我们添加文本框。到这里我们第一个应用创建和调试就完成了,谢谢。

773120

.NET混合开发解决方案7 WinForm程序通过NuGet管理器引用集成WebView2控件

系列目录     【已更新最新开发文章,点击查看详细】   WebView2组件支持在WinForm、WPF、WinUI3、Win32应用程序中集成加载Web网页功能应用。...本篇主要介绍如何在WinForm程序中集成WebView2组价详细过程。 准备工作 1、安装Visual Studio,建议安装Visual Studio 2022 。...骤2 安装 WebView2 SDK NuGet搜索WebView2 提供了如下详细版本 如果用于生产环境,建议使用稳定版(没有标记-prerelease),学习研究时可以使用预发行版。...选择最新稳定版进行安装,安装成功后,项目的包添加了 1.0.1185.39 版本 SDK。 步骤3 设置页面功能 1、顶部区域放置了一个文本框,用于输入目标网址。...特别提醒:输入URL地址,如果不是以http:// 或者https:// 开头则会运行报错 点击【访问】按钮 异常: 无效URI:无法确定URI格式。

1.1K10
  • Windows 8.1 应用再出发 - 几种更新控件

    而Windows 8.1 FlipView控件添加了UseTouchAnimationsForAllNavigation属性,当设置true时,基于触控、按钮和编程方式切换均会出现平滑滚动动画,...多种控件添加Header属性 有些控件在使用通常会附带标题,来描述控件中值意义。...而Windows 8.1 这些控件添加了Header 和 HeaderTemplate 属性,以让我们更快捷完成标签设置。...PlaceholderText 占位符文本,Windows 8.1 将这个属性添加到很多包含文本控件。如果控件不想显示默认选项或留空,我们就可以添加占位符来提示用户进行输入或选择。...要在调用 window.external.notify 时,允许外部网页引发 ScriptNotify 事件,你必须在应用清单文件 (Package.appxmanifest) 内容URI部分纳入该页面的

    1.8K80

    不知道为什么,就是想分享一些面试题!

    02 Java对象内存分配过程是如何保证线程安全 在Java,创建一个对象方法有很多种,使用new、使用反射、使用Clone方法等,但是无论如何,对象在创建过程,都需要进行内存分配。...标记-清楚算法回收后内存中会有大量不连续内存碎片,在给新对象分配时候,就需要通过"空闲列表"来确定一块空闲区域。无论那种方式,最终都需要确定出一块内存区域,用于给新建对象分配内存。...(false) 域控制不严格漏洞 getSettings类方法对 WebView 安全性影响 setAllowFileAccess // 设置是否允许 WebView 使用 File 协议 webView.getSettings...可以理解邮局或者是一个信笺分拣系统: 这个分拣系统通过3个参数来识别,匹配优先级:action>data>category Action: 动作 view Data: 数据uri uri Category...Category 类别匹配: 节点中可以为组件定义一个 Category 类别列表,当 Intent 包含这个列表所有项目时Category 类别匹配才会成功。 ?

    50520

    .NET混合开发解决方案14 WebView2基本身份验证

    5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适WebView2运行时 .NET混合开发解决方案7 WinForm程序通过NuGet管理器引用集成WebView2...或WPF窗体 .NET混合开发解决方案13 自定义WebView2上下文菜单   WebView2 应用基本身份验证包括从 HTTP 服务器检索网页一系列身份验证和导航步骤。...WebView2 控件与 HTTP 服务器通信,请求获取位于指定 URI 文档。 HTTP 服务器答复 WebView2 控件,指出"未经身份验证 (无法获取) URI"。...HTTP 服务器可能会拒绝凭据并请求新凭据。 HTTP 服务器可能会拒绝用户名和密码;它可能会告诉 WebView2 控件"不允许获取该 URI/文档"。..."服务器 WebView2 控件提供文档"导航。   第一种类型导航后,服务器要求进行身份验证,并且应用需要再次尝试这种导航 (使用新导航 ID) 。

    1.7K20

    【愚公系列】2023年10月 WPF控件专题 Frame控件详解

    WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见标准用户界面元素。...它类似于HTML页面iframe。可以使用Frame控件来实现基于页面的导航。可以将每个页面定义一个单独XAML文件,并将其导航到Frame控件。...1.属性介绍WPFFrame控件具有以下常用属性:Source:指定要显示内容URI地址。...SandboxExternalContent:指定是否启用沙箱模式,可以防止加载内容访问应用程序其他部分。AllowsTransparency:指定是否允许窗口透明化。...2.常用场景Frame控件是WPF一个容器控件,可以用于在同一个窗口中显示不同页面内容。

    69800

    【愚公系列】2023年11月 WPF控件专题 WebBrowser控件详解

    WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见标准用户界面元素。...一、WebBrowser控件详解WPFWebBrowser控件可以用于嵌入网页和显示HTML内容。它是一个基于Internet Explorer控件,允许WPF应用程序显示Web内容。...WebBrowser控件可以通过以下步骤来添加和使用:在Visual Studio打开WPF应用程序并打开窗口XAML文件。在控件库中找到WebBrowser控件并将其拖放到窗口中。...嵌入浏览器:WebBrowser控件可以作为WPF应用程序内置浏览器使用,允许用户在应用程序浏览互联网。...跨域访问:可以使用WebBrowser控件实现跨域访问,例如在WPF应用程序访问其他域名Web服务。

    94312

    dotnet 从入门到放弃 500 篇文章合集

    C# 复制列表 C# 如何写 DEBUG 输出 C# 如何在项目引用x86 x64非托管代码 C# 已知点和向量,求距离点 C# 强转会不会抛出异常 C# 很少人知道科技 C# 快速释放内存大数组...WPF 使用封装 SharpDx 控件 WPF 修改按钮按下颜色 WPF 写系统日志 WPF 判断调用方法堆栈 wpf 单例 WPF允许打开一个实例 WPF 可获得焦点属性 WPF 在 Alt...+Tab 隐藏窗口 WPF 好看矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF何在 WriteableBitmap 写文字 WPF何在应用程序调试启动 WPF何在绑定失败异常...资源冻结 WPF 高性能笔 WPF 鼠标移动到列表上 显示列表图标 wpf-DoEvents WPF绑定密码 xamarin_forms_jin_du_tiao_kong_jian xaml 添加 region...SublimeText 打开 生成密码 用 sim 卡加密保护资金 硬件分配 神经网络 程序员笑话 简单搭建自己博客 给博客添加rss订阅 自动机 解决 vs 出现Error MC3000 给定编码字符无效

    10.4K20

    JSBridge小科普

    常用三方库Dsbridge系列(https://github.com/wendux/DSBridge-Android)。那么,你知道JSBridge到底是如何在两端进行通信吗?...于是,Native WebView控件H5页面,可以通过JS代码请求这个通用Schema协议。 比如,通过添加一个不可见iframe,设置其src属性,发送一个URI请求。...一旦系统捕获到注册表Schema URI,就会通过此URI地址执行该Schema协议定义Native操作,执行一段Native代码或者打开APP某个页面(打开摄像头,唤起图片预览功能,跳转APP.../** * 添加javascriptInterface * 第一个参数:这里需要一个与js映射java对象 * 第二个参数:该java对象被映射js对象后在js里面的对象名,在js要调用该对象方法就是通过这个来调用...,在 Webview添加 onJsConfirm或onJsPrompt 监听(其实,监听window.console或者window.alert也是可以,但是这两个方法在JS coding中比较常用

    2.8K30

    .NET周刊【3月第1期 2024-03-03】

    OneAPI 允许用户添加自己大模型密钥和令牌,通过 Postman 等工具可以测试服务可用性。...WebMVC 框架实现数据列表绑定。...C#系统菜单添加自定义项 - 开源研究系列文章 https://www.cnblogs.com/lzhdim/p/18047745 这篇文章介绍了如何在 C#应用程序系统菜单添加自定义项方法,并提供了示例代码和运行效果截图...此版本包括对 XAML Island 关闭行为更改、添加基于 WebView2 和 Azure Map 地图控件、添加 SelectorBar 控件、对 CommandBarFlyout 主要命令标签支持...[WPF] 只能输入数值文本框 https://zenn.dev/nuits_jp/articles/2024-02-25-numeric-text-box 如何在 WPF 实现一个只允许输入数值

    19410

    .NET混合开发解决方案9 WebView2控件导航事件

    5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适WebView2运行时 .NET混合开发解决方案7 WinForm程序通过NuGet管理器引用集成WebView2...控件 .NET混合开发解决方案8 WinForm程序通过设置固定版本运行时BrowserExecutableFolder属性集成WebView2控件   在我博客《.NET混合开发解决方案7...具体可以参考我博客《.NET混合开发解决方案2 WebView2与Edge浏览器区别》。   本文介绍WebView2应用程序导航事件。...当WebView2实例显示内容发生特定异步操作时,导航事件会运行。...(".") == false) 141 { 142 // 无效URI包含一个点且没有空格,请尝试在前面添加http://标记 143 uri

    97810

    .NET混合开发解决方案4 WebView2线程模型

    在某个模型网页审查,点击保存按钮后需要转到Form窗体中找到对应模型节点。所以首先找到该模型对应WebView2组件,34行代码。...form.BeginInvoke() 方法获取 创建控件(WebView2)基础句柄所在线程(主线程,UI线程),然后异步执行委托,委托调用窗体业务方法实现审查意见列表更新与节点图标的更换。...特性,否则JS无法访问到该类,代码11、12行。...如果WebView2应用程序试图在WebView2事件处理程序同步创建嵌套消息循环或模式UI,这种方法会导致尝试重新进入。...应用,若要获取用于调试完整调用堆栈,必须 WebView2 应用启用本机代码调试,如下所示: 在Visual Studio打开 WebView2 项目。

    3.2K30

    深入浅出话资源

    举个例子,http://wpf.codeplex.com包含了很多官方/半官方WPF资源,其中包括WPF工具包和一组非常漂亮程序皮肤,这些皮肤以资源形式放在XAML文件,使用时仅需要将相应XAML...拿程序主题来举例,如果程序皮肤在运行过程始终不变,以Static形式来使用资源就可以了。如果在程序运行过程中允许用户更改皮肤或者配色方案则必须使用DynamicResource来使用资源。...1.3       向程序集中添加二进制资源 对于资源这个概念,对于WPF初学者会感到迷惑,因为早在WPF出现之前Window应用程序就已经能够携带资源了。...为了不把资源词典里资源和应用程序里面内嵌资源搞混,我们明确称呼资源词典里面的资源WPF资源”或“对象资源”,称呼应用程序内嵌资源“程序集资源”或者“二进制资源”。...下面让我们看看如何向WPF程序添加二进制资源并使用它们。 如果要添加资源是字符串而非文件,我们可以使用应用程序名称空间下Resources.resx资源文件。

    1.8K20

    .NET桌面程序集成Web网页开发十种解决方案

    系列目录     【已更新最新开发文章,点击查看详细】   B/S架构Web程序几乎占据了应用软件绝大多数市场,但是C/S架构WinForm、WPF客户端程序依然具有很实用价值,设计类软件 AutoCAD...控件3:Microsoft Edge WebView2【强烈推荐】 Microsoft Edge WebView2 控件允许在本机应用嵌入 web 技术(HTML、CSS 以及 JavaScript...CefSharp拥有WinForms和WPF应用程序浏览器控件,以及自动化项目的OffScreen版本。...Sciter桌面UI开发带来了一系列web技术。网页设计师和开发人员可以在创建外观现代桌面应用程序时重用他们经验和专业技能。...Sciter允许使用经过时间验证、健壮且灵活HTML和CSS来定义GUI,并使用GPU加速渲染。 Sciter引擎是一个单一、紧凑DLL,大小5+Mb。

    2.9K11

    .NET混合开发解决方案1 WebView2简介

    它可以让本地应用程序(WinForm、WPF、WinUI、Win32)、移动应用程序(MAUI)轻松嵌入Web技术。...WebView2 控件使用 Microsoft Edge 作为呈现引擎在客户端应用程序及App显示 Web 内容。...使用 WebView2 可以将 Web 代码嵌入到客户端应用程序及App不同部分,或在单个 WebView 实例构建所有本机应用程序。...WebView2优势 Web 生态系统和技能集。 利用 web 生态系统存在整个 web 平台、库、工具以及人才。 快速应用。 Web 开发允许快速部署和迭代。...依赖带有定期平台更新和安全修补最新版 Chromium。 已修复版本分布。 也可以在应用打包特定版本 Chromium 。 增量采用。 逐步将 web 组件添加到应用。

    2.1K31

    直播修仙:使用.NET WebView2 如何获取请求响应内容,以微信直播互动直播

    实现原理 这里以微信视频号直播例,介绍一种获取直播事件消息方法,当然方法也适用于类似的其他平台。 视频号开启直播时候在视频号 Web 管理后台,会同时看到观众发送评论和产生其他互动。...这里我们 通过 WebView2 来获取请求评论响应内容来实现。...实现步骤 首先创建一个 WPF 应用,添加 Microsoft.Web.WebView2 包,然后页面添加WebView2组件,首页直接视频号管理后台。... <Wpf:WebView2 Source="https://channels.weixin.qq.com/platform/live/liveBuild" MinWidth="800...本文虽以互动直播例,但主要为介绍如何使用.NET WebView2 获取请求响应内容。如果你对这种互动直播感兴趣可以通过 .NET 技术自己开发一个新互动直播模式。

    2.6K20
    领券