新・日々の暮らしに疲れてない?

一人バンド、火頭工房

「よ」は、よろしくお願いします、の「よ」

最近スマホ&PCのデータ通信量の削減にやっきになっていた私ですが、その過程でクローム拡張機能に注目しました。

 

調べたところ、html css javascriptなど私にも馴染みがあるモノで動いていることが判明し、これちょっと作ってみたいな、と思った次第です...物事は調べれば調べるほど、嫌になるのが常なので、モチスタベーションが切れてしまわないうちにとりあえず一つ作ってみることに。

 

作ったのは自分専用の辞書機能です。


ページのフォームにメールアドレスとか電話番号とか打つのって面倒じゃないですか。んで適当に「あど」→ 変換 などで自動変換できるように辞書に登録するわけですが、使うアドレスが3つ4つあると煩雑です。あと日本語から変換する、という所もなんか気持ち悪いし。

 

そこで例えば、シフトキーを押しつつ「g」を素早く2回打つとgmailのアドレスが入力できればなぁ、と考えたわけです。何故2回かというと、シフト+gで大文字が打ちたい場合もあるだろうということで。

 

動作例は以下。

 

onkeydown(e)関数でシフトキーが押してある状態を感知 → 

 

その状態でgを一度打つとフラグが立ち、setTimeout関数でタイマーがカウントを始める (この時点では大文字Gが画面に入力されています)→ 

 

0.8秒以内にもう一度gを打つと条件成立 → 

 

ページ内でクリックされているフォーム欄を取得し、そこにgmailアドレスを入力します(一回目で入力されたGの文字を消し、かつそれ以前に入力されていた文字があるとしたらそれはそのままにします)。 → 

 

時間切れになるかシフトキーを途中で離すと条件不成立、フラグが落ちます。

 

とまぁこんな感じ。メールアドレスはホットメールならm、ヤフーならyという感じで設定。ついでに電話番号も設定しておきました。

 

ロームデベロッパーモードにし、作業フォルダを読み込むとブラウザで拡張機能として使えるようになります。

 

さて今回はページとのやりとりがDOMだけなので、難しいことは何もなかったのですが、次はYoutubeプレーヤーを操作する拡張機能を作りたいんですよね、これは何かと面倒です。実は最初にこちらを試しましたが、作業失敗で凍結中。


あと、今回の拡張機能、データベースよろしく単語の登録・編集・削除が出来るようにするのが当然ですが...めんどくせぇ。


なんか拡張機能用のデータベース機能があるみたいですが、その手の学習はwebstorageやらindexedDBやらmySQLやらもう沢山でございます。自分専用の機能なので、コードにベタ打ちして動作確認し、モチスタベーションが消滅。