Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WKWebView加载html代码而不是内容(iOS)_Ios_Wkwebview - Fatal编程技术网

WKWebView加载html代码而不是内容(iOS)

WKWebView加载html代码而不是内容(iOS),ios,wkwebview,Ios,Wkwebview,我正在尝试加载以下html文件: https://dev-attachments-public.clickup.com/d23cdacd-510c-440e-818f-1e0f4d1a10bd/Email.html 执行以下操作进入我的WKWebView: let targetURL = NSURL(string: htmlFile) let webView = WKWebView(frame: paddingView.bounds) let request = NSURLRequest(url

我正在尝试加载以下html文件: https://dev-attachments-public.clickup.com/d23cdacd-510c-440e-818f-1e0f4d1a10bd/Email.html 执行以下操作进入我的WKWebView:

let targetURL = NSURL(string: htmlFile)
let webView = WKWebView(frame: paddingView.bounds)
let request = NSURLRequest(url: targetURL as URL)
webView.load(request as URLRequest)
但是,它仅加载以下代码:


我不知道为什么会发生这种情况。是否需要在本地下载此文件,然后将其显示?

请注意,在桌面上单击该链接也会导致文件被下载,而不是显示在web浏览器中。查看请求的标题,您的服务器当前正在以应用程序/八位字节流的形式发送其内容类型。这会告诉浏览器,如WKWebView,该文件是原始数据,应该下载、显示并按原始数据处理。相反,您应该将内容类型标题作为text/html发送,这告诉浏览器它应该将html呈现并显示为网页。此外,您可能应该删除Content Disposition标头,以允许它作为默认的内联显示为网页

此操作:

var paths: [AnyObject] = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) as [AnyObject]
let filePath: String = "\(paths[0])/\("index.html")"

if let url: NSURL = NSURL(string: htmlFile) {

    do {
        let urlData: NSData = try NSData(contentsOf: url as URL)
        urlData.write(toFile: filePath, atomically: true)

        webView.load(URLRequest(url: NSURL.fileURL(withPath: filePath)))

    } catch {
        print("Error:  Could not fetch fetchedResultsController")
    }
}

这个html文件不是以html标记开头的,这就是为什么它没有在iOSi中的webView上显示为网页。在截图之前,iOSi已经在WKWebView上向下滚动了一段时间。