タイトルの通り、textareaで選択した文字列の行頭にスペースを挿入するbookmarkletです。

あまりにマニアックな感じがするかと思いますが、PukiWikiでプログラムの実行結果とか貼り付ける時に行頭にスペースを挿入して引用扱いにしたい時とかに便利です。

今のところChromeでの動作しか確認してないです。 あと、今のところPukiWiki限定です。 他のtextareaでも使いたい場合にはgetElementsByNameの所をgetElementsByTagNameやgetElementsByIdにすればいい気がします。

javascript:function saru(){d=document;ta=d.getElementsByName("msg");;t1=window.getSelection().toString();t2=" "+t1;t2=t2.replace(/\n/g,"\n ");ta[0].value=ta[0].value.replace(t1, t2);}saru();

分かりやすく整形したソースコードにすると

function saru(){
  d = document;
  ta = d.getElementsByName("msg");
  t1 = window.getSelection().toString();
  t2 = " " + t1;
  t2 = t2.replace(/\n/g,"\n ");
  ta[0].value = ta[0].value.replace(t1, t2);
}
saru();

という感じです。 ポイントなのか何なのか分からないですが、function saru(){}で囲んで変数汚染を防いでるのは意外に重要です。 僕のミスかもしれませんが、これが無いと最後のtextareaの文字列を更新する部分でページが壊れました。


  添付編集
Last-modified: 2015-01-01 (木) 20:27:31 (3396d)