DraftPadの内蔵ブラウザでJavascriptが走るアシスト NetWalker(職人版)

クラスチェンジしました。


DraftPadの内蔵ブラウザでJavascriptを実行するアシスト NetWalker
昔そんな名前の雑誌があって。「eval()を使えば」と書いてしまったので作ってみたら、本当に動いた。ここまで作ってきたNetSeeker系をすべて包括してしまうアシスト。基本形は下記の通り。登録リンク...
「自動作成のアシスト」を書いたら、本当に走った。もはや妄想独走のアシストで、ニーズがあるのかどうか分かりません。でも、使いこなせばきっと魔物になる。

draftpad://self/web?source=<script>function main(x){s=encodeURIComponent(x.current);url=%22draftpad://self/web?source=<title>wait...</title><script>function main(x){location=x.URL}location=%2522draftpad:///webdelegate?load=main%2526unloadconfirming=true%2526unloadconfirmtitle=Scriptを実行しますか?%2526unloadconfirmdefault=OK%2526unloadconfirmclose=No%2526unload=function(){location=%2527draftpad:///webdelegate?load=f%2527;f=function(x){eval(x.Script)}}%2522</scr%22+%22ipt>%26Script=%22+encodeURIComponent(x.script)+%22%26URL=%22+x.URL;location=%22draftpad:///assist?title=%22+x.title+%22%26url=%22+encodeURIComponent(url)}location=%22draftpad:///webdelegate?load=main%22</script>&title=<@L1>&script=<@L2~>&URL=https://www.google.co.jp/search?q=<%40>

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



一行目にアシスト名、二行目以降にJavascriptを書きます。

Linker
link="<a href="+location.href+">"+document.title+"</a>";
draftpad.replaceCurrent(link);



NetWalkerを起動すると、アシスト登録画面になる。



この新しいアシストを走らせると、内蔵ブラウザを閉じるとき、設定したJavascriptが走ります。ただし、アシストからdraftpadのURLスキームは呼び出せないので、DraftPadに貼りつけるにはdraftpad.insert()等のメソッドを使ってください。
スクリプトを一行にまとめる必要もなく、書いた通りに実行するので、ブックマークレットよりも簡単になったかも。ブラウザを閉じるときの後処理を決めておける。URLはGoogle検索をデフォルトとしてますが、そこもお好みでカスタマイズ。すると、特定サイトに特化したアシストが手軽に作れるわけです。DraftPadで新しい世界を開きましょう。
マンガで分かるJavascript講座のWeb版を見つけました


(追記)
appendChild()を使うブックマークレットが移殖できない。eval()の守備範囲外?