WKWebView предоставляет BLANK navigationAction.request для НЕКОТОРЫХ ссылок с target = blank - PullRequest
1 голос
/ 22 января 2020

Применительно к В этом вопросе о том, как загрузить ссылки с пустой целью в WebView , я попробовал данное решение:

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

        if navigationAction.targetFrame == nil {
                //This request is blank here
                webView.load(navigationAction.request)  
        }
        return nil
    }

Тем не менее, как упоминал Джейсон Мюррей в комментариях, когда Я нажимаю на ссылку (кнопку) внутри WKWebView, метод WKUIDelegate, приведенный выше, действительно вызывается, но имеет navigationAction.request = "" ( URL-адрес запроса всегда пуст ) и, следовательно, при вызове webView.load ("") ничего не происходит, поэтому веб-просмотр направляется на пустую белую страницу.

Затем я попытался Решение для вышеуказанной проблемы, как упомянуто здесь , Но я полагаю (поскольку я не очень разбираюсь в JS), это решение внедряет JS на основе упомянутого тега Speci c.

На моей веб-странице есть кнопки с тегом href, как показано ниже :

<a _ngcontent-ylq-c12="" class="buttonGreen" href="javascript:void(0);" id="Buy_QP_WibeWide" btnuniqueid="WibeWide_1" title="Haz click para contratar en la web de la aseguradora"></a>
  • Как заставить его работать и получить правильный запрос / URL для загрузки правильной страницы?
  • Требуется ли обходной путь с введенным JS, как указано в решении второй ссылки?

PS: в отличие от обновления в решении, заданного @ { ссылка } , я использую Swift 4.2 и все еще сталкиваюсь с проблемой.

...