Вот решение, которое может учитывать альтернативные ситуации поиска страниц (например, Command + F, '/' в Firefox). Он проверяет любые из этих нажатий клавиш и устанавливает таймер, когда они происходят. Если вскоре окно размыто, то предполагается, что отображается диалоговое окно «Найти».
Недостатки: не учитывает диалог «Поиск», запускаемый через меню. Я не вижу никакой возможности быть уверенным в этой части, поскольку (насколько я знаю, по крайней мере) пользовательский интерфейс браузера запрещен для Javascript, работающего внутри DOM.
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