sorashima.hatenablog.com
の最後で少し触れたように、「WebページでJavascriptを実行」アクション以外でも、Data URIスキームを使った方法でJavascriptが動いている。(2020-01-18現在)
例:
ショートカット「数値文字参照に変換」
https://www.icloud.com/shortcuts/4006803edf294cbc9219826353c2d901
(return〜 の行と、次の {t};`; は表示上2行に分かれているいるだけで実際は一行。)
- HTML内にJavascriptを書き
- Data URIスキームにする。(URLアクションは勝手にURLエンコードしてくれる。)
- Webページの内容を取得アクションでページを取り込み
- そこから、入力からテキストを取得アクションで結果を取り出す。
※上のショートカットでは、出力データの直後に不必要な半角スペースが付いてしまう。それを無くすには、HTMLの最後の部分を
</script></body></html>
と、改行せずに1行にした方が良い。
実際に、作ったショートカットを使ってみる。
はてなブログ(無料版)を使っていると、はてなキーワード(はてなブログ タグ?)の誤リンクによく出会う。
本来、はてなキーワードになるべきなのは「トークン」なのに、「トーク」と中途半端な箇所で切られてはてなキーワードになってしまっている。
この「数値文字参照に変換」ショートカットを実行し、「トーク」と入れる。
クリップボードに変換結果がコピーされる。
はてなの編集画面で、該当部分をコピーされた内容で置き換える。
しかしながら、JS部分のデバッグはScriptable等の上でやるしかないから、実際の実行もScriptableなどを呼んでやる方法(Webページ以外でJavascriptを使うiOS/iPadOSショートカットを作れるScriptableに、インラインJS機能が追加された - メモ・備忘録(設定ファイル・スクリプト類・ブックマーク))の方が自然。
今回の方法は、どうしてもショートカット単体で実行しなければならない場合のみに、利用機会は限られるだろう。
Scriptable.appでJSの動作確認をしている図。(16進数を表す「x」が抜けている。)