WKWebView didFinishNavigation не работает с фреймами / фреймами - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь загрузить HTML, который имеет 2 кадра, используя WKWebView. Я получаю все делегаты навигации для основного кадра один раз, но не получаю обратный вызов didCommit и didFinish для подкадров.

Мой пример HTML-кода выглядит следующим образом:

https://example.com <html><head><base href="https://example.com"></head><frameset framespacing="0" rows="*,0" frameborder="0" noresize><frame name="sco" src="https://example.com//assets/s/uruq3acajh9u/x/mobile/path/loading.html"><frame name="adaptor" src="https://example.com//assets/s/uruq3acajh9u/content/mobile/path/1.html?sco_url=https://example.com/content/elearningngx/VHDRczdEy5kO_pRfKsNJEA/1571433806/0088Z2lPcUR4MVljWWlPUVYvSjNrby9OVjJzbk84OENkN1h3SVl3UVBPMG9sb3lXNFFsaHUwT2xDbVhFTzVpMWdiNQ==RnJpIE9jdCAxOCAxMzoyMzoyNiBVVEMgMjAxOQ==/eot/index.html"></frameset></html>

func setupWebView(){  
        if (self.webView != nil){  
            self.webView.removeFromSuperview()  
        }  

        HTTPCookieStorage.shared.cookieAcceptPolicy = .always  

        let userContentController = WKUserContentController()  
        userContentController.addUserScript(HTMLViewScripts.viewportScript)  


        let pref = WKPreferences()  
        pref.javaScriptEnabled = true  
        pref.javaScriptCanOpenWindowsAutomatically = true  
        pref.setValue(true, forKey: "allowFileAccessFromFileURLs")  
        pref.setValue(true, forKey: "_allowUniversalAccessFromFileURLs")  

        let wkWebConfig = WKWebViewConfiguration()  
        wkWebConfig.preferences = pref  
        wkWebConfig.userContentController = userContentController  

        let wkWebSiteStore = WKWebsiteDataStore.nonPersistent()  
        wkWebConfig.websiteDataStore = wkWebSiteStore  

        self.webView = WKWebView(frame: CGRect(x: 0, y: 0, width: Constants.screenSize.width, height: self.playerContainer.frame.size.height), configuration: wkWebConfig)  
        self.webView.navigationDelegate = self  
        self.webView.uiDelegate = self  
        self.playerContainer.addSubview(self.webView)  
    }  

Кроме того, такая же проблема и сrateJavaScript. Я не получаю никакого обратного вызова при загрузке "about: blank" с использованиемvaluJavaScript. Кажется, та же проблема связана с кадрами.

Любые лиды будут оценены. Заранее спасибо.

...