【问题标题】:UWP App: WebView: How to allow window.external.notify from within a app-local web pageUWP 应用程序:WebView:如何允许来自应用程序本地网页中的 window.external.notify
【发布时间】:2020-02-19 21:46:16
【问题描述】:

对于我的 UWP 应用,我想允许用户从存储在应用的 LocalState 文件夹中的网页中将搜索词提交到我的 UWP 应用中...所以我正在尝试使用WebView.ScriptNotify

网页本身存储在ms-appx-web:///[SomeFolder]/[SomePage.html]。 WebView 可以打开页面。它执行 JavaScript。

当我尝试调用window.external.notify 时,JS 引擎给了我错误TypeError: Object doesn't support property or method 'notify'

我已在应用清单中将 ms-appx-web:///[SomeFolder]/* 注册为内容 URI,并为其授予“仅允许 Web”访问权限,因为该应用可以访问 Known Folders(文档、照片等)...

我哪里错了???

应用的目标版本是 17763。

【问题讨论】:

  • 你好,你能提供一个最小的可运行演示来帮助我测试它吗?我尝试创建一个新项目并创建了一个本地 html 文件。即使没有内容 URI,也可以通过 ms-appx-web 访问 window.external.notify 方法
  • 其实,没有。花费太多时间。上述解决方案有效,实际上比通过内容 URI 更好。 windows.external.norify 不能通过内容 URI 工作,这是两种不同的方法。关闭。

标签: uwp


【解决方案1】:

当然还有一种解决方法。别介意ScriptNotify,解决办法是一个WindowsRuntimComponent……这里有两个描述:

https://www.suchan.cz/2016/01/hacking-uwp-webview-part-2-bypassing-window-external-notify-whitelist/

http://blog.damiendelaire.com/2016/06/communicating-back-and-forth-with.html

按描述工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2019-09-15
    • 1970-01-01
    • 2017-11-06
    • 2012-01-21
    • 1970-01-01
    • 2014-12-01
    相关资源
    最近更新 更多