首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOS - WKWebview在第二次单击同一按钮时在decidePolicy中获取空url

IOS - WKWebview在第二次单击同一按钮时在decidePolicy中获取空url
EN

Stack Overflow用户
提问于 2020-01-29 13:57:12
回答 1查看 313关注 0票数 0

我有一个带有下载pdf的按钮的WKWebview,按钮链接如下:

代码语言:javascript
运行
复制
<a href="https://mysite.appiancloud.com/suite/rest/a/content/latest/igB-Xg0UyTkBidWeSJGldcpdb0wlYmynKQi_fRvbd5xpczwkJJXkcYS/o"><img class= src="$imageurl"></a>

我设法通过某种逻辑下载了PDF,这是以decidePolicyFor方法为起点的:

代码语言:javascript
运行
复制
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {

        let url = navigationAction.request.url

        if openInDocumentPreview(url!) {
                decisionHandler(.cancel)
                executeDocumentDownloadScript(webView, forAbsoluteUrl: url!.absoluteString)

        } else {
                decisionHandler(.allow)
        }
    }

这工作得很好,并且url是带有PDF的那个。但是,如果再次单击该按钮,我只会收到null urls,因此无法再次打开该文档。这是我收到的动作:

代码语言:javascript
运行
复制
<WKNavigationAction: 0x102d95fa0; navigationType = -1; syntheticClickType = 0; position x = 0.00 y = 0.00 request = <NSMutableURLRequest: 0x282e151d0> { URL: about:blank }; sourceFrame = <WKFrameInfo: 0x102d502f0; webView = 0x103048200; isMainFrame = YES; request = <NSMutableURLRequest: 0x282e116d0> { URL: https://mysite.appiancloud.com/suite/sites/home }>; targetFrame = <WKFrameInfo: 0x102d577a0; webView = 0x103048200; isMainFrame = NO; request = (null)>>

如果我在Safari Desktop上测试,每次都可以正常下载文件,但是我找不到WKWebView停止接收url的原因。不会调用其他委托方法,甚至在调用target="_blank“urls时往往会调用的createWebViewWith也不会调用。

我想知道WKWebview cachePolicy是否生效了,但我找不到避免url缓存的方法,或者如果它被缓存了,当它试图再次加载它时,它会接收事件。

另外,需要注意的是,如果我长时间单击该链接,预览元素将正确地保存URL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 14:24:30

好吧,我的理论是,通过告诉处理程序WKNavigationAction策略是.cancel,下面的请求将不会被处理。

我所做的是在createWebViewWith方法中处理URL下载,并让策略始终为.allow

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59961241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档