9

新しいタブページにテキスト入力を配置し、新しいタブページが読み込まれるとすぐにその入力テキストにフォーカスを与える Chrome 拡張機能を作成しています。従来の方法 (例: focus()) を使用してフォーカスを得ることができなかった後、私はこの質問に出くわしました:

Chrome 27: 新しいタブ ページの拡張機能がアドレスバーからフォーカスを奪うことはできません

これは、新しいタブ ページでオムニボックスのフォーカスを盗むことができないように Chrome が作成されたことを示しています。Chrome は新しいタブ ページ以外のサイトにフォーカスを与えることに問題がないことを考えると、私は回避策を考え出そうとしていますが、本当に満足できるものはありません。

私はもう試した:

  • 新しいタブ ページをローカルに保存された HTML ファイルにすぐにリダイレクトするようにしますが、リダイレクト中にページにフォーカスがなかったため、これでもフォーカスが得られません。

  • コンテンツ スクリプトで ctrl+t および cmd+t をオーバーライドして、ローカルに保存された HTML ファイルのコンテンツを含む新しいタブを開きます。これは問題なく動作しますが、cmd+t をオーバーライドできないように見えるため、Mac ユーザーは ctrl+t を使用する必要があります。また、一部のサイト (OneNote オンライン エディターなど) は ctrl+t を引き継ぐため、すべてのページで機能するとは限りません。

  • ページをリモートでホストし、新しいタブ ページをそこにリダイレクトする (遅すぎる)。

  • ユーザーが新しいタブを開くときに入力テキストに集中するためにタブを2回押すことを提案します:)

この制限を回避する方法について、他に何か提案はありますか? それは私の拡張機能にとって非常に重要です。

ありがとう!

4

1 に答える 1