1.2*_*tts 8 html javascript safari macos
我最近注意到在 Safari 中,在某些情况下,如果我按 Command+z,它将打开之前打开的浏览器选项卡。
它弄乱了我的网络应用程序。有时它会正确执行撤消,而有时它会打开上一页(当没有更多撤消历史记录时)。这是一个错误还是我可以在 JavaScript 或 HTML 中关闭该功能?我的应用程序并不总是将光标放在文本字段内,因此我需要阻止 Safari 获取该事件。
这是 Mac OSX 10.11、Safari 10.1。
Safari 从撤消键入更改为撤消关闭选项卡:
我为按键事件的窗口对象添加了一个侦听器,并对该事件调用了 PreventDefault():
function preventDefaultWindowOpen(prevent) {
var isSafari;
var useCapture = true;
const KEYTYPE = "keypress";
if (navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent && !navigator.userAgent.match('CriOS')) {
isSafari = true;
}
else {
return true;
}
if (window.preventOpenOnUndoKey==null) {
window.preventOpenOnUndoKey = function(event) {
if (event.keyCode==122 && event.metaKey==true) {
event.preventDefault();
}
}
}
if (prevent) {
window.addEventListener(KEYTYPE, window.preventOpenOnUndoKey, useCapture);
}
else {
window.removeEventListener(KEYTYPE, window.preventOpenOnUndoKey, useCapture);
}
return true;
}
preventDefaultWindowOpen(true);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6303 次 |
最近记录: |