【问题标题】:WebView2 - This site is trying to open (application)WebView2 - 此站点正在尝试打开(应用程序)
【发布时间】:2021-05-12 15:35:03
【问题描述】:

使用WebView2浏览器,当用户点击打开另一个程序的链接时,每次都会出现这个提示。

有没有办法在 WebView2 中抑制这种情况?

【问题讨论】:

  • 你看过NewWindowRequested Class吗?可能还有其他有用的事件,请查看them
  • 能否使用 NavigationStarting 事件取消对不以 http/https 开头的 URI 的导航?
  • 我希望他们始终允许在没有消息提示的情况下查看链接

标签: c# vb.net microsoft-edge webview2


【解决方案1】:

您可以使用NavigationStarting 事件取消对以您关心的 URI 方案开头的 URI 的导航,然后对该 URI 执行任何您喜欢的操作。例如,使用 URI 调用 ShellExecuteExW 或 Windows.System.Launcher.LaunchUriAsync,以便操作系统打开 URI。

正如 Yu Zhou 所指出的,如果它的任意网站打开任意应用程序(例如 Web 浏览器),这是很危险的。如果您要跳过此安全提示,则应确保您拥有 Web 内容或信任 WebView2 中的 Web 内容不是恶意的。如果您正在显示任意 URI 或用户提交的 Web 内容,则不应跳过提示。

【讨论】:

    【解决方案2】:

    我可以理解您想绕过提示,但这是设计使然,我们无法更改。它是为安全而设计的。此提示是 Internet 上每个任意站点(加载在浏览器沙箱内)和您计算机上的完全信任应用程序(在浏览器沙箱外运行)之间唯一存在的东西。

    我们唯一能减轻痛苦的办法就是选中“始终允许...”复选框,这样下次就不会出现提示了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多