web-dev-qa-db-fra.com

WkWebView ne chargera pas HTMLstring

J'essaie d'afficher dans un WkWebView une page html que j'ai précédemment téléchargée et stockée dans une chaîne.

Voici comment configurer mon WkWebView:

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

La chaîne html que j'essaie de montrer est:

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

Lorsque le WkWebView s'affiche dans ma vue, il en est ainsi pour toujours.

enter image description here

Quelqu'un peut m'expliquer pourquoi et comment résoudre ce problème?

12
Carioni

rapide

Vous le rendez peut-être un peu trop compliqué. Cela a fonctionné pour moi ...

Tout d'abord, importez WebKit

Deuxièmement, créez un @IBOutlet sous votre classe:

@IBOutlet weak var webView: WKWebView!

Troisièmement, placez ce qui suit dans votre viewDidLoad ():

let htmlString:String! = "\(YourString)"
webView.loadHTMLString(htmlString, baseURL: NSBundle.mainBundle().bundleURL)

Mise à jour Swift 3

webView.loadHTMLString(htmlString, baseURL: Bundle.main.bundleURL)
13
A.J. Hernandez

J'ai rencontré le même problème que toi! Le problème clé réside dans les paramètres du projet:

Vérifiez votre projet Xcode> cible> capacités> sandbox d'application .

Assurez-vous d'avoir VÉRIFIÉ les connexions NetWork ✅ Entrantes et ✅ Sortantes.

Voir le SreenShot ci-dessous:

enter image description here

8
Corxit Sun