我尝试在WKWebView上使用javascript加载本地HTML游戏。尽管我可以看到CSS样式的HTML页面,但是我听不到游戏的声音,并且某些游戏的动作不对应。
我注意到,如果我通过http live服务器加载完全相同的游戏,那么一切似乎都很完美。因此,我认为本地负载出了点问题。也许这一个Apache的问题可能是这个问题?
Info.plist:
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
我的代码 (SWIFT 3) :
import UIKit import WebKit class WebViewController: AppViewController, WKUIDelegate { var webView: WKWebView! override func loadView() { let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame: .zero, configuration: webConfiguration) webView.uiDelegate = self view = webView } override func viewDidLoad() { super.viewDidLoad() if let path = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "game") { webView.load(URLRequest(url : URL(fileURLWithPath: path))) } } }
为了在本地播放JavaScript,您必须使用GCDWebServer运行本地Web服务器。您可以在此处获取文档。Apple禁止在没有WebServer的情况下执行JavaScript