我将尽力为您进行翻译。以下是需要翻译的内容:
我正在尝试在iOS应用程序(Swift 4.2)中为WKWebView加载本地HTML文件。不幸的是,这个本地文件包含的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)
}
}
文件在项目属性的“Build Phases/Copy Bundle Resources”下是本地文件。我也试图将它们放在一个目录中,但没有成功。以下是项目内的文件组织。
编辑: 当我将html文件中的url从Beethoven.mei
更改为https://www.verovio.org/gh-tutorial/mei/Beethoven_StringQuartet_op.18_no.2.mei
(相同的文件,但在Verovio网站上),一切都很好!!
所以:
本地.js资源正常工作
问题来自于jquery无法加载本地文本文件
有什么想法可以使jquery能够加载本地文件吗?
谢谢!
M.