我尝试在 WKWebView 上使用 javascript 加载本地 HTML 游戏。虽然我可以看到 CSS 样式化的 HTML 页面,但我听不到游戏的任何声音,而且有些游戏的 Action 不对应。
我注意到,如果我通过 http 实时服务器加载完全相同的游戏,一切看起来都很完美。所以我想本地负载出了问题。 也许这是 Apache 的 issue可能是问题所在?
信息.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 运行本地网络服务器。您可以获得文档 here . Apple 正在阻止没有 WebServer 的 JavaScript 执行
关于javascript - 使用 WKWebView iOS 加载本地 HTML/Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41223699/