You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Swift中WKWebView处理PayPal智能按钮弹窗时navigationAction.request为空的问题求助

iOS Swift中WKWebView处理PayPal智能按钮弹窗时navigationAction.request为空的问题求助

各位iOS开发的朋友们,我最近碰到一个棘手的问题,想请大家帮忙出出主意:

我用WKWebView加载网页时,点击PayPal的智能结账按钮,网页会尝试弹出一个窗口,但用我们之前处理空target框架(比如新标签页跳转)的常规代码时,只会显示空白页面。更奇怪的是,这次PayPal按钮触发的navigationAction.request居然是空的,直接导致之前的解决方案完全失效了。

先给大家看看我们之前一直正常使用的WKUIDelegate代码,之前遇到的所有弹窗和新标签页跳转都能完美处理:

extension WebShopViewController: WKUIDelegate {

    public func webView(
        _ webView: WKWebView,
        createWebViewWith configuration: WKWebViewConfiguration,
        for navigationAction: WKNavigationAction,
        windowFeatures: WKWindowFeatures
    ) -> WKWebView? {

        if navigationAction.targetFrame == nil {
            webView.load(navigationAction.request)
        }
        return nil
    }
}

这段代码是我们之前参考相关问题的解决方案写的,一直没出过问题。

现在这个问题就卡在上文提到的PayPal智能按钮上,这个按钮的演示场景大家应该都熟悉,就是PayPal官方的结账演示那种。

想请教下各位,有没有什么方案既能解决PayPal按钮这个弹窗问题,又能兼容普通的新链接跳转需求呀?万分感谢!

备注:内容来源于stack exchange,提问作者Jonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:18:04