每个浏览器都有“在页面上查找”功能 (ctrl+F)。有没有办法在 JavaScript 中检测用户搜索,以便我可以附加其他操作。
最佳答案
这是一个可以解决替代页面查找情况的解决方案(例如 Command+F,Firefox 上的“/”)。它会检查这些按键中的任何一个,并在按键发生时设置一个计时器。如果窗口很快就变得模糊,则假定正在显示“查找”对话框。
缺点:不考虑通过菜单启动的“查找”对话框。我没有看到任何方法来确定这部分,因为(至少据我所知)浏览器 UI 禁止在 DOM 内运行 Javascript。
var keydown = null;
$(window).keydown(function(e) {
if ( ( e.keyCode == 70 && ( e.ctrlKey || e.metaKey ) ) ||
( e.keyCode == 191 ) ) {
keydown = new Date().getTime();
}
return true;
}).blur(function() {
if ( keydown !== null ) {
var delta = new Date().getTime() - keydown;
if ( delta >= 0 && delta < 1000 )
console.log('finding');
keydown = null;
}
});
jsFiddle ,在 Chrome、Safari 和 Firefox 中进行了测试
关于javascript - 有没有办法在javascript中检测页面搜索中的查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895246/