Web Analytics Made Easy -
StatCounter

めモらンだム

数年後の自分が首を捻らなくて済むようにするために残す、自分で使うためのアプリの設定やスクリプト類のメモ。改変等ご自由に / 内容が古いまま、間違ったままもあるので注意 / 書いている途中や、途中で放置もあり / 対象の仕様変更で動かなくなったもの多々。特に、WorkFlowyを対象として作ったものは全滅。

iOS/iPadOSショートカット単体で、Webページ以外でJavascriptを動かしたい

sorashima.hatenablog.com
の最後で少し触れたように、「WebページでJavascriptを実行」アクション以外でも、Data URIスキームを使った方法でJavascriptが動いている。(2020-01-18現在)

例:
ショートカット「数値文字参照に変換
 https://www.icloud.com/shortcuts/4006803edf294cbc9219826353c2d901

(return〜 の行と、次の {t};`; は表示上2行に分かれているいるだけで実際は一行。)

  1. HTML内にJavascriptを書き
  2. Data URIスキームにする。(URLアクションは勝手にURLエンコードしてくれる。)
  3. Webページの内容を取得アクションでページを取り込み
  4. そこから、入力からテキストを取得アクションで結果を取り出す。


※上のショートカットでは、出力データの直後に不必要な半角スペースが付いてしまう。それを無くすには、HTMLの最後の部分を

</script></body></html>

と、改行せずに1行にした方が良い。


実際に、作ったショートカットを使ってみる。

はてなブログ(無料版)を使っていると、はてなキーワード(はてなブログ タグ?)の誤リンクによく出会う。

本来、はてなキーワードになるべきなのは「トークン」なのに、「トーク」と中途半端な箇所で切られてはてなキーワードになってしまっている。


この「数値文字参照に変換」ショートカットを実行し、「トーク」と入れる。


クリップボードに変換結果がコピーされる。


はてなの編集画面で、該当部分をコピーされた内容で置き換える。

誤リンクされていたはてなキーワードが消えた。

実際はこんなことをしなくても、[]トーク[]のようにすればリンクされなくなる。
Javascriptの実行例として書いた。




しかしながら、JS部分のデバッグはScriptable等の上でやるしかないから、実際の実行もScriptableなどを呼んでやる方法(Webページ以外でJavascriptを使うiOS/iPadOSショートカットを作れるScriptableに、インラインJS機能が追加された - メモ・備忘録(設定ファイル・スクリプト類・ブックマーク))の方が自然。

今回の方法は、どうしてもショートカット単体で実行しなければならない場合のみに、利用機会は限られるだろう。

Scriptable.appでJSの動作確認をしている図。(16進数を表す「x」が抜けている。)