WkWebView不会加载HTML字符串

Car*_*oni 10 iphone ios swift wkwebview ios9

我试图在WkWebView中显示我之前下载并存储在String中的html页面.

这就是我设置WkWebView的方法:

    webView = WKWebView(frame: self.blankView.frame)
    webView.navigationDelegate = self
    webView.loadHTMLString(tipShow.htmlString!, baseURL: nil)
    view.addSubview(webView)
Run Code Online (Sandbox Code Playgroud)

我想要显示的html字符串是:

      <html> <style type="text/css"> * { -webkit-touch-callout: none; -webkit-user-select: none; /*
  Disable selection/copy in UIWebView */
     }
   </style> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,
 initial-scale=1">

<title>TITLE</title>

 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script
    src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> </head>

  <body>




<div data-role="page" id="page1">

    <div align=justify style="margin-left:20px; margin-right:20px">

        <font size="4.5" face="HelveticaNeue-Light"><br>

        <p>
THIS IS A TEST
   </p>
</div> </div>

</body></html>
Run Code Online (Sandbox Code Playgroud)

当WkWebView在我的视图中显示时,它就像这样永远.

在此输入图像描述

有人可以解释一下为什么以及如何解决这个问题?

小智 13

迅速

你可能会让它有点过于复杂.这对我有用......

首先,导入WebKit

其次,在你的类下创建一个@IBOutlet:

@IBOutlet weak var webView: WKWebView!
Run Code Online (Sandbox Code Playgroud)

第三,将以下内容放在viewDidLoad()中:

let htmlString:String! = "\(YourString)"
webView.loadHTMLString(htmlString, baseURL: NSBundle.mainBundle().bundleURL)
Run Code Online (Sandbox Code Playgroud)

SWIFT 3更新

webView.loadHTMLString(htmlString, baseURL: Bundle.main.bundleURL)
Run Code Online (Sandbox Code Playgroud)

  • 我错过了正确的baseURL (2认同)

小智 9

我遇到了和你一样的问题!关键问题在于项目设置:

检查您的Xcode项目>目标>功能>应用程序沙箱.

确保您已检查过网络✅传入和✅传出连接.

见下面的SreenShot:

在此输入图像描述

  • 这不是iOS,是吗? (2认同)