WKWebView在脚本加载之前未加载HTML内容

时间:2018-07-27 21:05:36

标签: javascript html ios wkwebview

我有一个简单的视图控制器,可以加载本地托管在我的计算机上的html文件:

class WebViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let webView = WKWebView()

        ...

        let url = URL(string: "http://localhost:8002/myendpoint")
        let request = URLRequest(url: url!)
        webView.load(request)
    }

}

加载的html是:

<!DOCTYPE html>
<html>
<head>
</head>

<body>
    Hello World!

    <script type="text/javascript" src="/path/to/js/file.js"></script>
</body>
</html>

问题在于内容(“ Hello World!”)在脚本加载之前(大约需要3秒钟)才呈现。如果我注释掉script标签,它将立即加载。

使用script标签,它可以在Android上正常运行(内容应立即加载)。

我的理解是HTML应该按顺序发生,所以“ Hello World!”应该在加载script标签之前(在Android系统上工作的方式)呈现。

是否有一种方法可以强制在WKWebView上按顺序加载内容?我发现suppressesIncrementalRendering,但是默认值已经为false,并且更改或明确设置它似乎无济于事。

我也已经在脚本标签上尝试过asyncdefer,但是它们都不起作用。

0 个答案:

没有答案