WKWebView在设备上显示空白,在模拟器上工作

时间:2014-10-19 21:06:51

标签: ios iphone svg uiwebview wkwebview

我的应用程序的一个模块是一个网站。该网站主要包含一个SVG绘图,使用自定义形状的按钮(使用Raphael.js库)访问其他绘图(其他带有svg绘图的html页面)。

如果设备在iOS 7上,我使用UIWebView,一切正常。

对于iOS 8设备,我使用WKWebView。我遇到了一些问题,其中一些问题由this post解决。我可以在那些模拟器(iPhone 5 / iOS 8.0(12A365)和iPhone 5s / iOS 8.0)上看到我的网站,但我无法在iPod Touch上看到它(第5代,运行iOS 8.0.2) 。它显示一个空白屏幕。

我不知道该找什么。有什么想法吗?


修改

在关注@Dan Fabulich的回答(here)之后,我现在得到一个永远加载的webview,它永远不会完成加载。他的回答告诉我们,当从字符串加载html时,WKWebView存在一个错误。他的回答是将html内容复制到新的子文件夹中,然后从该URL调用loadRequest

不幸的是,我仍然坚持使用非工作网页浏览器。任何线索? webview永远不会完成加载内容的原因是什么?

1 个答案:

答案 0 :(得分:0)

我有一些问题,但我解决了配置选项的问题。这是我的代码。

    var a = dic["adi"]?.asString()
    var path = NSBundle.mainBundle().pathForResource(a, ofType: "htm" )
    var url = NSURL(fileURLWithPath:path!)
    var request = NSURLRequest(URL:url!)

    var theConfiguration = WKWebViewConfiguration()

    theWebView = WKWebView(frame:self.view.frame, configuration: theConfiguration)

    var error:NSError?
    let text2 = String(contentsOfFile: path!, encoding:NSUTF8StringEncoding, error: &error)

    if let theError = error
    {
        print("\(theError.localizedDescription)")
    }

    theWebView!.loadHTMLString(text2!, baseURL: nil)
    self.view.addSubview(theWebView!)

希望这会有所帮助。