Web hand-copying (Web 写経) - man machine interface

ブラウザで閲覧しても、紙に印刷しても頭に入らない文章があります。そのような文章を頭にいれるための Web ツールを試作してみました。
現在のところ、Internet Explorer では動きません。

動機

私の場合、音楽の歌詞は、ブラウザで直接閲覧すると読み飛ばし気味になってしまいます。かといって、印刷するとわざわざ時間を割いて読む気がしなくなってしまいます。
そこで、

tumblr のように選択部分をブックマークレットで取り出し、
iKnow のディクテーションのようにその選択部分を打ち込ませる(=写経(hand-copy)させる)

ことを目指したWeb ツールを作ろうと思いました。

使い方

一番後ろの入力フィールドを正しく打ち込むと、写経内容を tumblrはてなブックマークに登録するボタンが出ます(これは遊びです。)

使用例

下の画像は、歌詞を写経している例です。

実装方法

HTML + JavaScript だけで実装されています。サーバ側の処理はありません。パラメータの仕様は tumblr の (Quote) ブックマークレットと同じにしてあります。
JavaScript 内での入力のチェックは、正規表現にまるまる渡すようなことをしているので、「特殊な」文字の扱いに問題があると思います。現在のところ、たぶんコードの写経には向いていません。自然言語の文章の写経を想定しています。

現時点の問題

Internet Explorer では動作しません。改行文字の扱いに関する JavaScript での記述が良くないようです*1

*1:Internet Explorer は decodeURIComponent('%0A') に対してエラーを出すようで、ここの対応で止まっています。