【问题标题】:WKWebView showing blank on device, working on simulatorWKWebView 在设备上显示空白,在模拟器上工作
【发布时间】:2014-12-14 19:58:31
【问题描述】:

我的应用程序的模块之一是网站。该网站主要包含一个 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 永远无法完成加载内容的原因是什么?

【问题讨论】:

  • 我认为复制到文档文件夹不起作用;我认为只有复制到临时文件夹 (NSTemporaryDirectory()) 才能解决这个问题。
  • IMO,这不是一个足够普遍的问题,无法在 StackOverflow 上回答。听起来您确实被我的答案中报告的错误所困扰,但总的来说,我的答案没有什么可补充的。 (请注意,我没有编写解决方法代码;shazron 做了。)我唯一的建议是尝试让 shazron 的解决方法项目工作。如果这行得通,那么你就有了一些行得通的东西,也有一些行不通的东西;仔细审查和实验应该可以帮助您找到不同之处。
  • 我看到了同样的问题,但是有: NSURLRequest * request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
  • 这个问题解决了吗?我在使用 XHTML 文件时遇到了相同的结果。在模拟器和设备上正确加载 HTML 文件时。

标签: ios iphone svg uiwebview wkwebview


【解决方案1】:

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

    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!)

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-02
    • 2012-08-19
    • 2023-03-23
    • 2013-04-14
    • 1970-01-01
    • 2019-06-16
    • 2012-12-21
    • 2013-10-08
    相关资源
    最近更新 更多