首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WKWebView不显示网站(Swift 4、iOS 11、Xcode9.3)

WKWebView不显示网站(Swift 4、iOS 11、Xcode9.3)
EN

Stack Overflow用户
提问于 2018-04-06 10:47:41
回答 3查看 7.6K关注 0票数 5

由于某些原因,我的应用程序中的WKWebView不会显示任何像"https://www.google.com.au“这样的网站。我曾尝试在info.plist中将“允许任意加载”更改为“是”,但这并没有解决问题。

请救命!谢谢

我的代码:

代码语言:javascript
复制
import UIKit
import WebKit

class ViewController: UIViewController {

    @IBOutlet weak var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        displayWebPage()
    }

    private func displayWebPage() {
        let url = URL(string: "https://www.google.com.au")
        let request = URLRequest(url: url!)
        webView.load(request)
    }
}

StoryBoard的截图:

EN

回答 3

Stack Overflow用户

发布于 2018-04-06 11:29:19

连接WKNavigationDelegate,这将修复网页不加载尝试以下代码。加载网页时抛出的任何错误都将在webViewDidFail委托中打印出来。

代码语言:javascript
复制
class ViewController: UIViewController, WKNavigationDelegate {

    @IBOutlet weak var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        displayWebPage()
    }

    private func displayWebPage() {
        let url = URL(string: "https://www.google.com.au")
        let request = URLRequest(url: url!)
        webView.navigationDelegate = self
        webView.load(request)
    }
    func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        print(error)
    }
}
票数 4
EN

Stack Overflow用户

发布于 2018-04-06 14:32:17

设置webView代理。

代码语言:javascript
复制
    webView.UIDelegate = self
    webView.navigationDelegate = self

还可以尝试在异常域列表中添加您的域

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>google.com.au</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>
票数 2
EN

Stack Overflow用户

发布于 2018-09-28 10:29:02

将控制器连接到WKUIDelegate,在视图控制器中添加loadView()方法,并使用WKWebViewConfiguration初始化web视图。

代码语言:javascript
复制
import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {

    @IBOutlet weak var webView: WKWebView!
    
    var webView: WKWebView!
    
    override func loadView() {
        let myConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: myConfiguration)
        webView.uiDelegate = self
        view = webView
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        displayWebPage()
    }

    private func displayWebPage() {
        let url = URL(string: "https://www.google.com.au")
        let request = URLRequest(url: url!)
        webView.load(request)
    }
}

来源:WK Web View

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

https://stackoverflow.com/questions/49684489

复制
相关文章

相似问题

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