【发布时间】:2020-08-25 09:11:59
【问题描述】:
当我点击一个文件下载它时,我有我的WKWebView。我有一个弹窗文字:
没有应用程序配置打开 URL
blob:https// ...
我尝试将自定义 URL 方案 blob 注册到 WKWebView,应用程序崩溃说默认情况下已经支持此方案。
但是,当我单击文件时,不会调用委托:
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void)`
所以我什至不知道何时单击 blob url 以尝试通过注入 JavaScript 下载文件。
我的应用程序适用于 macOS。
【问题讨论】:
-
是的,我正在尝试打开一个 url blob。看帖子我加了图
-
如果 JavaScript 中有解决方案,我将接受解决方案。如何将 blob url 监听到 javascript 并更改方案?你有代码的想法吗?我已经做过研究,但没有成功
-
如果没有其他方法,您可以尝试使用 dataurl。但看看设置 CSP 是否有效:
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval' 'self' gap://ready file: ws://<path-to-ws-endpoint>; child-src * 'unsafe-inline' 'unsafe-eval' blob: cdvfile:; img-src * 'self' data: blob:;" /> -
这家伙找到了一种解决方法,我猜它比必须转换为 dataurl 略好:stackoverflow.com/questions/45065085/…
-
我无权访问站点代码。所以我必须注入'你能向我解释你建议我的代码吗