ここで提供するブックマークレットは、フォーム入力(主にログイン)を補助するブックマークレットです。「フォームに入力した情報」をブックマークに保存することができます。
iPod touch/iPhone用のブックマークレットはたくさんありますが、その中でもログインを簡単にしてくれるブックマークレットがあります。FON用、BBモバイル用などと色々なものがあるのですが、自分が今まさに使いたいページでそのようなブックマークレットがなければどうしましょう?自分でブックマークレットを作る?それでもいいのですがパソコンがないと厳しいです。
このブックマークレットは、現在表示しているページのフォーム情報を保存するブックマークレットを作成します。つまり、ブックマークレットを生成するブックマークレットです。(ややこしくてすみません)以降のログイン時の入力を簡単にするものです。(ログイン情報はどこにも送信しません。自ブラウザ内で完結しています)
使い方
iPod touch/iPhoneへ通知するには、こちらのURL(//www.civic-apps.com/bookmarklet-if.html)をメールで送信して、そこからリンクをクリックすると楽です。
- 入力支援ブックマークレット本体のブックマークします
ブックマークの仕方は上記の「入力支援ブックマークレットはこちら」のページをブックマーク登録してから、ブックマークの修正でURLの先頭部分(~html?まで)を削除します。長いURLなので先頭まで移動するのが大変ですが、本体の登録は一度きりなのでご了承ください。 - 保存したいページを表示し、ログイン情報を入力します
例えばこんな感じ
- 入力支援ブックマークレットを実行します
1.で登録したブックマークです。
- 保存するフィールドを選択するパネルが下部に表示されるので、保存したいフィールドをチェックします。
フィールドの一覧が表示されます。入力したパスワードは見えます。
- 「Bookmarklet化」ボタンを押して、表示されたウィンドウのブックマークを保存します
about:で始まる別ページが表示されます。実際には空ページで、URLをブックマークするためだけに使用します。再び登録してから、修正で先頭部分(about:)を削除してください。
- 使用する際には、このブックマークを実行するとフォーム入力が復元されます
未入力状態でブックマークレットを実行すると、フォーム情報が埋められます。
※注意
生成されたブックマークレットにログイン情報を持たせるということは、ブックマークをのぞくとパスワードがバレバレです。ipod touchを紛失したりする場合も危険です。その点のリスクを理解した上でご利用ください。(例えばパスワードは全部入力しないとか。だから入力支援なのです。)
技術的な情報
ブックマークレットを作成するブックマークレットを作るのは厄介でした。
JavaScriptの関数として作るのはすぐできたのですが、それをブックマークレット化するのに手間がかかりました。[「JavaScriptのイベントハンドラ」を持ったHTML}を出力するJavaScript]をアンカータグに記述するためにURLエスケープしています。自分でももう、どの部分の文字列リテラルなのかチンプンカンプンです。
ブックマークレット用のURLをipod touchに登録するためには、「URLの前方部分を削って~」のテクニックが良く使われますが、そのために今回のブックマークレットURLをどこかにリクエストしてしまうのは、利用者として怖くて使えないので、ローカルだけで完結する方法を模索しました。
その結果、about:で始まるURLにすることで、リクエストを送信せずにURLをロケーションバーに突っ込むことができました。
すげーの作った。と思ったら、ほとんど同じことを2ヶ月前に完成させていたページを発見!なんという脱力!
iPod touchでフォーム入力補完をするbookmarkletを作るbookmarklet – おぎろぐはてな
でもせっかく何日もかけて作ったものだからアウトプットしておく!ログイン以外にもフォーム入力全般的に使えるし、radio,checkbox,text,passwordに対応しているから。