各ブラウザにはページの機能(ctrl + F)があります。 javascriptでユーザーの検索を検出する方法があるので、追加のアクションを追加することができます。javacriptのページ検索でfindを検出する方法はありますか?
答えて
が、たとえそれが「一部の」ブラウザで動作していても、ユーザーがそのショートカットを押して、何かを検索する可能性が高いことが分かります。
ブラウザがそのショートカットを上書きすることができる場合は、デフォルトの動作をさらにブロックし、独自の検索ロジックをサイトに実装できます。しかし、これはほとんどの時間は非常に悪い練習とみなされます。ネイティブブラウザの動作を上書きするのはかなり面倒です。
一方、ブラウザが検索プロセスを実行したときにトリガされる「イベント」はありません。要するに、いいえ、実際にはjavascriptを使って検索プロセスを検出したりフックしたりする方法がありません(ある場合は、ブラウザ間での互換性はありません)。
私は検索プロセスに興味があったので、contl + Fだけでなく、これで生きなければなりません。ありがとう – Alexander
あなたは(whenbユーザープレスCTRL + Fを検出するために)行うことができます:ここに
window.onkeydown = function(e){
if(e.keyCode == 70 && e.ctrlKey){
//user pressed ctrl+f
}
はフィドル:あなたがctrl+f
またはcmd+f
ショートカットにフックに試すことができます。もちろん、http://jsfiddle.net/d8T72/
ここでは、代替ページ検索状況(例えば、Command + F、Firefoxでは '/')を考慮に入れることができるソリューションです。これらのキーが押されたかどうかを確認し、発生したときにタイマーを設定します。すぐにウィンドウがぼやけた場合は、[検索]ダイアログが表示されているとみなされます。
短所:「検索」ダイアログがメニューから起動されることを考慮していません。 (私が知る限り、少なくともブラウザUIはDOM内で実行されているJavascriptに制限されていないので、私はこの部分について確かめる方法は見当たりません。クロム、SafariやFirefoxの
でテスト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;
}
});
として最初に@Nicola Peluchettiによって提案され、ここでスニッフィング機能によって少し改良版である:興味深い
window.onkeydown = function(e){
var ck = e.keyCode ? e.keyCode : e.which;
if(e.ctrlKey && ck == 70){
alert('Searching...');
}
}
- 1. "Find"データの検索方法
- 2. 検索結果を検索する方法はありますか?
- 3. Firestoreでサブストリングを検索する方法はありますか?
- 4. npmでスコープパッケージを検索する方法はありますか?
- 5. テキストからページ番号を検索/抽出する方法は?
- 6. NPLogonNotifyでリモートデスクトップセッションイベントを検出する方法はありますか?
- 7. ウェブプログラミングでマウスホイールハードウェアを検出する方法はありますか?
- 8. Angular 2 appからjavacriptモジュールを検索/インポートする方法
- 9. javacriptでフォーム提出を検出する方法
- 10. mySQLを全文検索で検索するか、代わりの方法がありますか?
- 11. EJBのアンデプロイメントを検出する方法はありますか?
- 12. htmlページを検証してjavacriptで修正する方法
- 13. シークレットブラウジングを検出する方法はありますか?
- 14. Javaアプリケーションを検出する方法はありますか?
- 15. トランザクション検索のページ番号はありますか?
- 16. Luceneフリーテキスト検索クエリで日付を検出する方法は?
- 17. 検索APIを使用して、特定の国のGoogleサイトを検索する方法はありますか?
- 18. WordPressの検索方法は、製品のみを検索し、カスタム属性を検索する方法ですか?
- 19. Google Devtoolsのスタイルパネルでプロパティを検索/フィルタリングする方法はありますか?
- 20. 弾性検索クエリの検索、_sourceで検索する方法
- 21. Foursquareのユーザー検索APIで検索語句を返す方法はありますか?
- 22. djangoでは、検索値からリンクを返す方法はありますか?
- 23. ブログ検索APIはありますか?
- 24. 検索システムはありますか?
- 25. UNIX findを使用してfind(file1 OR file2)を検索する方法?
- 26. 折りたたみを展開するページの検索/検索
- 27. MYSQLで複数の列のデータのスジを同時に検出/検出する方法はありますか?
- 28. Rで変数を高速に検索する方法はありますか?
- 29. iOS App Storeをオンラインで検索する方法はありますか?
- 30. PhpStormでフォルダ(ディレクトリ)を検索する方法はありますか?
は、質問;私はこれが行われていることは聞いたことがない、と私は今までそれを見たことがないと思うが、私は今好奇心が強い。 – Pointy
あなたはCtrl + Fキーダウンイベントを聞くことができますか? (またはコマンド+ Fなど)、または検索ダイアログのためにバブルスルーしないのですか? – jlb
よく^ Fが検索を開始する唯一の方法ではありません - Firefoxでは "/"です(少なくとも私のためです)。 – Pointy