簡體   English   中英

WKWebView 不顯示加載的內容

[英]WKWebView doesn't display loaded content

我正在嘗試使用 WKWebView 在 Xamarin IOS 應用程序中顯示一些內容。 代碼非常簡單:

public override void ViewDidLoad()
{
    base.ViewDidLoad();
    var simpleWebView = new WKWebView(View.Frame, new WKWebViewConfiguration());
    Add(simpleWebView);

    simpleWebView.NavigationDelegate = new WKWebViewDelegate();
    simpleWebView.LoadRequest(new NSUrlRequest(new NSUrl("https://myurl_here")));
}

public class WKWebViewDelegate : WKNavigationDelegate
{
    public override void DidFinishNavigation(WKWebView webView, WKNavigation navigation)
    {
        WKJavascriptEvaluationResult handler = (NSObject result, NSError err) => {
            if (err != null)
            {
                //Do smth
            }
            if (result != null)
            {
                //Do smth
            }
        };
        webView.EvaluateJavaScript("(function() { return ('<html>' + document.getElementsByTagName('html')[0].innerHTML + '</html>'); })(); ", handler);
    }
}

這在 iOS 13 的模擬器中運行良好,但在 iOS 11 中,盡管在 NavigationDelegate 中我可以檢查來自 web 的內容是否已加載而沒有錯誤,但我卻得到了空白屏幕。 iOS 11 中的 WKWebView 有什么問題?

我不使用破壞性,但在本機 swift 代碼中,實例化委托是錯誤的:您應該委托任何現有的 object,通常是 controller。 在那個 controller 你會被召喚。

另見此處: 如何檢查 WkWebView 是否在 Objective-C 中完成加載?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM