Я пытаюсь загрузить локальный HTML-файл в WKWebView для приложения для iOS (Swift 4.2). К сожалению, этот локальный файл содержит код JavaScript, который, похоже, не выполняется.
Ниже приведен этот HTML-файл (взят из https://www.verovio.org/tutorial.xhtml?id=topic00):
<html>
<head>
<title>Verovio Hello World! example</title>
<script src="verovio-toolkit.js" type="text/javascript" ></script>
<script src="jquery-3.1.1.min.js" type="text/javascript" ></script>
</head>
<body>
Hello World!
<div id="svg_output"/>
<script type="text/javascript">
var vrvToolkit = new verovio.toolkit();
$.ajax({
url: "Beethoven_StringQuartet_op.18_no.2.mei"
, dataType: "text"
, success: function(data) {
var svg = vrvToolkit.renderData(data);
$("#svg_output").html(svg);
}
});
</script>
</body>
</html>
И ниже файла контроллера представления, записанного в swift:
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.uiDelegate = self
webView.navigationDelegate = self
let url = Bundle.main.url(forResource: "index", withExtension: "html", subdirectory: "html")!
webView.loadFileURL(url, allowingReadAccessTo: url)
}
}
Файлы являются локальными в разделе «Фазы сборки / Копирование ресурсов пакета» в свойствах проекта. Я также пытался поместить их в каталог, но безуспешно. Ниже файловая организация внутри проекта.
РЕДАКТИРОВАТЬ: Когда я изменяю URL в файле html с Beethoven.mei
на https://www.verovio.org/gh-tutorial/mei/Beethoven_StringQuartet_op.18_no.2.mei
(тот же файл, но на веб-сайте Verovio), все работает хорошо !!
Итак:
Локальные ресурсы .js работают нормально
Проблема связана с тем, что jquery не может загрузить локальный текстовый файл
Есть идеи, как сделать jquery способным загружать локальный файл?
Спасибо!
* +1039 * М.