Chromeの拡張をいじった(last-mod: 2010-06-18)
Chromeの拡張を一通り試して、それなりに使ってみて、動作しない場面があったり、欲しい機能が無かったりしたので、ちょっと自分でいじりました。
Downloadページへ
以下、やったこと。
全部のmanifest.jsonのfix
- GMailで動かない(all_frames = true)
- file:///, https://で動かない("matches": [ "http://*/*", "https://*/*", "file:///*" ])
QuickTabs (2010-05-30)
- ESCはテキストが有る場合には空にして、空の場合は閉じる
- 待ち時間を500msから100msに
- 空白区切り複数キーワードのハイライト
- migemo対応
- 早くキータイプすると入力が前後する修正 (2010-05-28)
- migemoのラクダ記法が不能だったのを修正 (2010-05-30)
migemoはMigemoFindInPageと同じく、ChromeMigemoを使ってます。ハイライトは効きません。ChromeMigemoが無い場合は普通の動作です動作しません。
jQueryのquickSearch plug-inをmigemoに対応させたんですが、ChromeMigemoを使ったので、汎用性はありません。文字列のマッチングを設定可能にして正規表現とかワイルドカードとかも使えるようにするとか考えられますが、所詮は自分で使うのが目的の編集です。
MigemoFindInPage
- Emacsキーをmayuで設定するためにバッティングしないものに
- OKとCancelを違う動作に
- 開始キーを実行中に使うと次検索になるように
mayu等無しで使うことを考慮してません。escやenterを使うためには、それらとグローバルに無意味なキーを組み合わせる必要があります。実行中はescやenterが無視され、非実行中は逆になることで、両方の役割を果たせます。mayuのDOM対応も考えたんですが、mayuの複数の基本的な部分の書き換え(フォーカスとウインドウ文字列生成)はまだしも、chromeのpluginの作成が要求されるのでやる気になれませんでした。2010-04-21: 拡張が使えないページでデフォルトの検索を普通に使えるようにしてみました。Ctrl+G|F3|Shift+F3で開始、Ctrl+G|F3で次、Shift+F3で前、ENTERでOK、ESCでCANCELです。2010-04-22: ENTERが\になってたのを修正。「Ctrl+Shift+Gで前」を追加。2010-04-23: Shift+EnterがShift+Clickみたいになるようにした。
OKキーで選択中の物をクリックします。enter出力でいいかと思ったんですが、Google検索でexperimentalのkeyboard shortcutを使ってるとそっちのフォーカスが優先されて機能しないので、結局実装しました。2010-04-29: target=_blankのAのclickをemulateすると、Chromeがタブでなくウインドウを開く問題に対処しました。target=_blankの場合に、新規にAを作って、それに対してCtrlを押した状態でのClickをemulateします。
mayuの設定:
key c-s = c-g key c-r = S-f3
OpenAllSelectedLinks
- キーボード対応(Ctrl+Shift+Alt+C)
KeyboardNavigation (2010-06-18)
- Backspaceで入力の訂正
- Googleのkeyboard shortcuts experiment等とバッティングしないように、run_at: document_startとevent.stopPropagationした(2010-06-07)
- ちょっと速くした(HintModeをループ一回にした)
- Spaceで選択中の要素にフォーカス、フォーカスが有る場合はEnterと同じ。
- target=_blankへの対応(2010-04-29)
- 速度向上のため見えてる範囲内のリンクだけ対象にした(2010-06-18)
- 選択リンクがフォーカスされるようにした(2010-06-18)
- フォーカス化に伴い、Enterをデフォルト処理されるようにした(2010-06-18)
InputFocus (2010-06-07)
- フォーカス後選択するようにした
- ロード完了する前に見えてるInputにフォーカスしようとすること多かったので、run_at: document_start
BingKey (2010-06-07)
Google検索が最近曖昧なので、Bingに乗り換えようと思ったのですが、keyboard shortcuts無しではやってられないので、自分で書きました。https://chrome.google.com/extensions/detail/mjmppeooepeoagdkehbedanhnmijcgjg
以下感想。
- 久しぶり(10年ぐらい)にJavaScript(というかjQuery)でDOMに触れたら結構楽しかった。
- Chromeの仕様が制限だらけでうざかった。