Ich habe vor kurzem eine einfache macOS-Anwendung, die in einem WebKit WebView (die neuen, nicht Vermächtnis) eine HTML-Seite bildet das Bündel lädt aber ich merkte, dass, wenn ich Geben Sie einige Tasten auf der Seite ein (nicht in einem Eingabefeld, ich meine body keypress behandelt mit Javascript) ein Fehler-Sound wird abgespielt. Ich habe mich gefragt, ob es eine Lösung für dieses Problem gibt.WebView Fehler Ton bei der Eingabe (Swift, Cocoa)
Ich könnte auch sagen, dass die HTML-Seite perfekt funktioniert wenn ich es mit Safari öffnen und es gibt keine Fehler in der integrierten Inspektor-Konsole sowie kein Fehler Sound wird gespielt (was könnte uns sagen, dass das Problem kommt mit etwas, das ich in der Anwendung vermisse).
Hier ist mein Swift Code (AppDelegate Offensichtlich):
@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)
}
Mein HTML Code (die einwandfrei funktioniert) [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>
Mein JavaScript/jQuery-Code [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));
}
});
Kann mir jemand helfen, es zu reparieren?
Können Sie Ihren HTML-Code teilen? – paulvs
@paulvs Hinzugefügt HTML, JS – Cristian