新しいタブページにテキスト入力を配置し、新しいタブページが読み込まれるとすぐにその入力テキストにフォーカスを与える Chrome 拡張機能を作成しています。従来の方法 (例: focus()
) を使用してフォーカスを得ることができなかった後、私はこの質問に出くわしました:
Chrome 27: 新しいタブ ページの拡張機能がアドレスバーからフォーカスを奪うことはできません
これは、新しいタブ ページでオムニボックスのフォーカスを盗むことができないように Chrome が作成されたことを示しています。Chrome は新しいタブ ページ以外のサイトにフォーカスを与えることに問題がないことを考えると、私は回避策を考え出そうとしていますが、本当に満足できるものはありません。
私はもう試した:
新しいタブ ページをローカルに保存された HTML ファイルにすぐにリダイレクトするようにしますが、リダイレクト中にページにフォーカスがなかったため、これでもフォーカスが得られません。
コンテンツ スクリプトで ctrl+t および cmd+t をオーバーライドして、ローカルに保存された HTML ファイルのコンテンツを含む新しいタブを開きます。これは問題なく動作しますが、cmd+t をオーバーライドできないように見えるため、Mac ユーザーは ctrl+t を使用する必要があります。また、一部のサイト (OneNote オンライン エディターなど) は ctrl+t を引き継ぐため、すべてのページで機能するとは限りません。
ページをリモートでホストし、新しいタブ ページをそこにリダイレクトする (遅すぎる)。
ユーザーが新しいタブを開くときに入力テキストに集中するためにタブを2回押すことを提案します:)
この制限を回避する方法について、他に何か提案はありますか? それは私の拡張機能にとって非常に重要です。
ありがとう!