こんにちは。
iosのWKWebViewのローカル環境でjQueryのファイルを読み込むload()が動きません。サーバーに置いてsafariを使う場合には大丈夫です。PC上のローカル環境でも大丈夫です。絶対パスにしないといけないのかもしれないと思い、location.pathnameを用いてフルパスにしたり、file://を除いてみたりとしてみましたが、駄目でした。動かない仕様なのでしょうか?困っています。アドバイスいただければ助かります。
html,Javascript
1<!DOCTYPE HTML> 2<html> 3<head> 4<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 5<script type="text/javascript" src="js/jquery.js"></script> 6</head> 7<body> 8<p>abc</p> 9<div> 10</div> 11<script> 12$('p').append('def'); 13$('div').load('test2.html'); 14</script> 15</body> 16</html>
swift
1import UIKit 2import WebKit 3import UserNotifications 4 5class ViewController: UIViewController,WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler{ 6 var webView:WKWebView! 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 let webConfiguration = WKWebViewConfiguration() 11 let userController = WKUserContentController() 12 userController.add(self, name: "init") 13 webConfiguration.userContentController = userController 14 15 webView=WKWebView(frame:CGRect(x:0,y:0,width:self.view.frame.width,height:self.view.frame.height), configuration: webConfiguration) 16 webView.uiDelegate=self 17 webView.navigationDelegate = self 18 webView.scrollView.bounces=false 19 20 self.view.addSubview(webView) 21 22 let path = Bundle.main.path(forResource:"test", ofType: "html")! 23 let url = URL(fileURLWithPath: path) 24 let urlRequest = URLRequest(url: url) 25 webView.load(urlRequest) 26 } 27 28 func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { 29webView.evaluateJavaScript(String(format:"Init(%@,'%@');",Static.id,Static.passCode)) 30 } 31 }
あなたの回答
tips
プレビュー