【发布时间】:2017-07-23 11:34:21
【问题描述】:
我最近制作了一个简单的 macOS 应用程序,它从 WebKit WebView(新的,不是旧版)中的捆绑包中加载一个 html 页面,但我注意到当我在页面中键入一些键(不是在输入框中,我的意思是 body keypress 使用 javascript 处理)会播放错误声音。我想知道这个问题是否有解决方案。
我也可能会说,如果我用 Safari 打开 html 页面,并且在内置检查器控制台中没有错误并且没有播放错误声音(这可能说明我们认为问题来自我在应用程序中缺少的东西)。
这是我的 Swift 代码(显然是 App Delegate):
@IBOutlet weak var contentView: WebView!
func applicationDidFinishLaunching(_ aNotification: Notification) {
let path = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "HTML_Content")
let url = URL(fileURLWithPath: path!)
let request = URLRequest(url: url)
contentView.mainFrame.load(request)
}
我的 HTML 代码(完美运行)[index.html]:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.12.0.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
<h2 id="text"></h2>
</body>
</html>
我的 JavaScript / jQuery 代码 [js/main.js]:
$(document).keypress(function(e) {
var text = $('#text').text();
if (e.which == 8) {
if (text.length != 0) {
text = text.slice(0, -1);
$('#text').text(text);
}
} else if ('abcdefghijklmnopqrstuvwxyz1234567890 '.indexOf(
String.fromCharCode(e.which).toLowerCase()) != -1) {
$('#text').text(text + String.fromCharCode(e.which));
}
});
有人可以帮我解决吗?
【问题讨论】:
-
你能分享你的 HTML 吗?
-
@paulvs 添加了 HTML、JS