二つのテキストを交互に編集するTextwellアクション Switch

並列処理アクション。


Textwellで二つの文章を並行しながら編集する SwitchText(カーソル保持版)
公開したときはただテキストを入れ替えるだけだったのですが、あいたったー氏のTweetを見て、カーソル位置の受け渡しが分かりました。解説ありがとうございます。そんなわけで、まずMyScripts側のスク...
MyScriptsならオフラインでも使えますが、今回はオンライン前提。DraftPadで常用していたものの、webdelegateを挟むので移植を躊躇していました。でも、作ってみました。試してみると切り替えが短く済みます。自宅でWiFiが使えるなら、このほうが気楽。


Textwell 1.1.7
分類: 仕事効率化,ユーティリティ
価格: \300 (Sociomedia)

アクション自体はアドレスの呼び出し。webdelegateの凄さは、引数なしで内部情報を取得できること。T変数とT関数に限りますが、そうした組み込みができます。そのため通信量が最小限で済み、起動を短縮できる。それがこのアクションの利点です。

location="https://dl.dropboxusercontent.com/u/56343898/sw.html";

登録リンクはこちら→ http://tinyurl.com/mrrkl69



呼び出されるHTMLファイルは下記の通り。localStorageを使い、Textwellの内部に記録します。長い文章でも扱える。カーソル位置や範囲選択の情報も保存します。

<title>Switch !</title>
<script>
function main(){
  text=localStorage["text"];
  if(text==null) text="";
  localStorage["text"]=T.text;
  sel=T.text.length;
  s=localStorage["loc"];
  loc=(s)? Number(s):0;
  localStorage["loc"]=T.range.loc;
  s=localStorage["len"];
  len=(s)? Number(s):0;
  localStorage["len"]=T.range.len;
  T("replaceRange",{
    text:text,
    replacingRange:{len:sel},
    selectingRange:{loc:loc,len:len}
  });
}

location.href="textwell:///webdelegate?init=main";
</script>



WriteSpaceと変数名を合わせたので、裏に回したテキストはWriteSpaceで編集できます。しかも、その文章をSwitchで呼び出せます。なんか変な感じがします。

  • Textwellに裏紙を作ってこっそり書ける WriteSpace

  • 現状ではネットに繋がらないとSwitchは動きません。でもwri.peだとオフラインでも走るんですよね。同じWebアプリなのに。調べてみると、そういう単体アプリ化の技術があると分かりました。これは使いたい。使いたいけれど、ネット側を更新してもキャッシュが優先される不具合がiOSにあるらしい。回避する方法は難しく、今はまだ手に負えそうにありません。とりあえず現段階で覚書しておきます。

  • HTML5でiPhone用Webアプリをオフライン対応に (1/2) - @IT