popup.html
の最初のリンクを自動的にフォーカスするGoogle Chrome拡張機能のデフォルト動作を停止するにはどうすればよいですか?おそらく、私はJSを使っていくつかのラウンドアバウトハックをしたり、フォーカスCSSを変更したりすることができますが、これが何か他のものを投げ捨てていると思います。Chrome拡張機能 - ポップアップで最初のリンクが自動的にフォーカスされる
答えて
自動フォーカスを受けたくない要素にtabindex="-1"
を追加するのが最も簡単な方法です(JavaScriptは無料です)。
おそらくオートフォーカスは便宜のために意図されていましたが、しばしば不快感を与えます。私は根本的な原因を止める方法がないので、いくつかの迂回路を見つけました。 1つはJavaScriptを使用しています。 Chromeは、ポップアップを表示してから少し遅れて自動フォーカスを設定します。 blur()
でフォーカスを外すことは可能ですが、フォーカスをあまりに遅くすると瞬時に点滅し、早すぎると早すぎると何もしません。だから、非フォーカスする権利の時間を見つけることは容易ではなく、この解決策は、ポップアップが表示された後、第一、第二の間、これを数回行うことをしようとします。
document.addEventListener("DOMContentLoaded", function() {
var blurTimerId = window.setInterval(function() {
if (document.activeElement != document.body) {
document.activeElement.blur();
}
}, 200);
window.setTimeout(function() {
window.clearInterval(blurTimerId);
}, 1000);
});
別pure HTML solution =「1」にtabindex属性を追加することですボディータグ。
あなたは、いつ起こるかを推測するのではなく、最初のフォーカスイベントを聞くことができます: 'document.addEventListener(" focusin "、function(){...})' ...おそらくただし、ハンドラが呼び出された後でイベントリスナを削除したいとします。詳細については、以下の私のソリューションを参照してください。 – TheMadDeveloper
tabindex="-1"
が私のために働いた。私はオートフォーカスを入力に追加していましたが、入力前に各リンクにこのtabindex="-1"
属性を使用するまで機能しませんでした。
奇妙なことは言えません。 tabindex
属性を持つ最初にフォーカスのある要素を口論
は使用して、おそらく行くには最高の方法です:
tabindex="-1"
、示唆されているように、焦点tabindex="1"
を得ることから要素を防ぐために、ポール・フェレットによって示唆されているようにlink0ffによって、あなたの状況はより複雑であり、あなたが WANを行う場合フォーカス
で始めるべき要素を指定しますいくつかのJavaScriptをもたらすためにトン、私の代わりにタイムアウトをぼかすとき推測しようとしているのは、イベントでの初期フォーカスをリッスン、除き、link0ffのソリューションを使用することをお勧めしたい:
function onInitialFocus(event) {
// Any custom behavior your want to perform when the initial element is focused.
// For example: If this is an anchor tag, remove focus
if (event.target.tagName == "A") {
event.target.blur();
}
// ALSO, remove this event listener after it is triggered,
// so it's not applied to subsequent focus events
document.removeEventListener("focusin", onInitialFocus);
}
// NOTE: the "focusin" event bubbles up to the document,
// but the "focus" event does not.
document.addEventListener("focusin", onInitialFocus);
私はフォーカスを信じていませんイベントはキャンセル可能なので、イベントを抑制することはできません。
本当に必要な場合は、 'focus'イベントをリッスンすることもできますが、addEventListenerの3番目のオプションパラメータを使用して、バブルフェイズに反対するキャプチャフェーズでそれを聞く必要があります。 ' document.addEventListener( "フォーカス "、onInitialFocus、true);' – TheMadDeveloper
もう1つの簡単な方法(「タブロビリティ」を維持する)は、最初の実際のリンクの前に空のリンク(<a href="#"></a>
)を追加することです。クロールからオートフォーカスを目に見えないように「キャッチ」しますが、リンクをタブで移動したいユーザーは引き続き正常に機能することができます。
このアプローチのわずかな欠点は、ループするときに2番目の「デッドタブ」が発生することです。つまり、ユーザーは最後のリンクから最初のリンクに戻るためにタブを3回押す必要があります。
- 1. Google Chrome拡張機能のリンク機能
- 2. Chrome拡張機能のポップアップがもう表示されない
- 3. Chrome拡張機能のポップアップが表示されません。
- 4. Chrome拡張機能 - 自動実行
- 5. Chrome拡張機能データを自動的にプル&ストアする
- 6. Chrome拡張機能の自動化機能ですか?
- 7. Chrome拡張機能 - 動的右クリックメニュー
- 8. が動的にChromeの拡張機能でChromeの拡張機能のコンテンツスクリプトの場合
- 9. Chrome拡張機能
- 10. Chrome拡張機能が同じポップアップでURLを変更する
- 11. Chrome拡張機能のポップアップページのリンクが機能しない
- 12. Chrome拡張機能のインストールポップアップ
- 13. デベロッパーモードの拡張機能がChromeでポップアップ表示
- 14. Chrome拡張機能/バックグラウンドで自動的にクッキーを追加する
- 15. Chrome拡張機能で動的iFrameにアクセスする
- 16. ページロードの間にChrome拡張機能のポップアップを維持する
- 17. 私が構築していChromeの拡張機能でChromeの拡張機能
- 18. GmailのChrome拡張機能で、自動保存で削除されます
- 19. AmazonでChrome拡張機能のポップアップをブロックする方法
- 20. Chrome拡張機能の最大ポップアップ幅を拡大しますか?
- 21. Chrome拡張機能コピー&ペースト
- 22. 3秒ごとに自動的にボタンをクリックするChrome拡張機能
- 23. Chrome拡張機能:ネストされたフォルダ
- 24. Chrome拡張機能アイコン://拡張/
- 25. ポップアップからコンテンツスクリプトにメッセージを送信する - Chrome拡張機能
- 26. Chrome拡張機能のインストールパラメータ
- 27. ファイルダウンロードリスナー - Chrome拡張機能?
- 28. Google Chrome拡張機能ポップアップでの非同期メッセージの送信
- 29. Google Chrome拡張機能ADS
- 30. sahiでGoogle Chrome拡張機能を自動化
'tabindex'という名前のCSSルールがないので、ショートカットに' a {tabindex:-1} 'を実行することはできません。 – Yarco
'tabindex =" - 1 "' UXとアクセシビリティ – sgimeno
タブインデックスを-1に設定すると、タブオーダーから要素が削除され、アクセシビリティが妨げられます。私はこの技術の使用を恥ずかしがります。 –