userscript」タグアーカイブ

UT-mateの使い勝手を上げるChrome拡張を作った

以前、UT-mateの使い勝手を上げるGreasemonkeyスクリプトを書いたが、それをChrome拡張化してみた。

Greasemonkeyのuserscriptも chrome://extensions/ にドロップすればなんか勝手に拡張として扱ってくれるようなのだが、一般人にuserscriptをダウンロードさせて chrome://extensions/ を開かせてうんぬんさせるよりはChrome Web Storeで入手出来るChrome拡張の方が導入しやすいだろうということで、Chrome拡張化してみることにした。

このuserscriptではGreasemonkey特有の関数( GM_* )は使っていないので、拡張機能の作り方のContent Scriptsのページを読んで manifest.json を適当に書いてやってパッケージしてやればChrome拡張になる。

Chromeの機能でChrome拡張のパッケージ(.crx)を作れるようだが、Chrome Web Storeで配布する際はzipアーカイブをアップロードすれば向こうで適当に .crx を作ってくれるっぽい。

作ったChrome拡張(とかWebアプリ)をChrome Web Storeで初めて公開するには、Googleに5ドルのみかz…登録手数料を払う必要がある。まあ一回払えばいくらでも拡張機能やWebアプリを公開できるからそんなに高くない…と思ったけど20個の上限があった気がするぞ…。

そんなわけで作ったChrome拡張がこちら。

Chrome Web Storeではなんかすれば課金もできるみたいだけど、この程度のアレで課金して誰もダウンロードしてくれないよりは、無料でダウンロードしてもらって自分の承認欲求を満たした方が良いなあと思った。

ちなみに、Chrome拡張化の際にuserscript本体はいじる必要はなかったが、UT-mateのページが仕様変更していたみたいで、そのための修正は必要だった。

Firefoxの人は従来通りGreasemonkeyを使って Better_UT-mate.user.js をインストールすれば良い。

Safariの人はTampermonkeyとかいうのを使えば良さそう。Safariの拡張機能でもChrome拡張と同じようなことができる感じがするが、Appleに登録か何かしないといけないようなので面倒くさい。

MyOPACの使い勝手を上げるGreasemonkeyスクリプト

東大図書館のMyOPACというサービスがあるが、このログインページも良くない作りをしていて、良くない。

IDとパスワードの入力欄でリターンキーでログインできるのはUT-mateよりも優秀と言えるのだが、この挙動をサブミットボタンではなくてJavaScriptでイベントを捕捉することにより実装しているため、

  1. ブラウザが補完候補を表示
  2. 表示された候補をリターンキーで確定しようとする
  3. フォームのサブミットが行われる(正確には、サブミット前に行われるチェックで、パスワード欄が空白だというエラーが出る)

という、ブラウザの補完機能に頼っている人にとっては微妙に使い勝手が悪いことになる。UT-mateの時も思ったが、こういうフロントエンドを作ってる人は頭が悪いのか。ログインボタンは普通にHTMLのサブミットボタンで書いて、JavaScriptを使うのはフォームの検証にとどめておけばいいものを…。

というわけで、この挙動を修正するGreasemonkeyスクリプトを書いた→Better_MyOPAC.user.js

GreasemonkeyをインストールしたFirefoxを使っている人ならば、上のリンクをクリックすることでインストールできる。

今はログインページの修正だけだが、今後他のページもいじりたくなったら機能を追加するかもしれない。

関連:UT-mateの使い勝手を上げるGreasemonkeyスクリプト

UT-mateの使い勝手を上げるGreasemonkeyスクリプト

東大の後期課程や大学院に在籍する人は必ずお世話になるであろうUT-mateだが、その使い勝手はお世辞にも良いとは言えない。まず、ログイン画面でEnterキーを押してもログインできない。他にもいろいろある。

さて、世の中のWebブラウザには、ユーザー側でWebページの見た目とか使い勝手をいじくれるものがある。Firefoxの場合はGreasemonkeyという拡張機能をインストールすれば、そういう”user script”を導入できるようになる。つまり、Greasemonkeyを導入したFirefoxであれば、user scriptによってUT-mateのページを構成するHTMLとかをいじることができ、使い勝手を向上させられる可能性があるということだ。(他のブラウザは筆者はあまり使っていないのでこの記事では扱わない)

というわけで私が書いたuser scriptがこれ→Better UT-mate.user.jsになる。Greasemonkeyを導入済みであれば、このリンクをクリックすることでこのuser scriptをインストールできるはずだ。ソースを見れば分かる通り、至極簡単なスクリプトであって、怪しい動作はしない。

現在のところ、実装している機能は

  • Enterキーでログインできるようにする
  • 「シラバス参照」で、Enterキーで「授業科目決定」ボタンや「検索開始」ボタンを押せるようにする
  • 【2014年9月30日更新】タイムアウトを阻止

である。気が向いたらさらに機能を追加するかもしれない。

【2015年9月3日】GitHubに公開。user scriptへのリンクをGitHubのものへと変更。