Web Analytics Made Easy -
StatCounter

メモ・備忘録(設定ファイル・スクリプト類・ブックマーク)

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

Webページ以外でJavascriptを使うiOS/iPadOSショートカットを作れるScriptableに、インラインJS機能が追加された

ShortcutsでJavascriptを実行というと「WebページでJavascriptを実行」アクションがあるが、
説明文を見てみると、

入力として渡されたSafari WebページでJavascriptを実行します
入力
 (SafariのWebページ) SafariのWebページ
結果
 (辞書、テキスト、ブール値、数字) Javascriptからの出力 (JSON)
メモ
Safari Webページ項目は、ショートカットをSafariでアクション拡張機能として実行するときのみ使用できます。

最後の一行の通り、実行できるのはSafariのシェアシートからのみ。(=ショートカットの入力に対してのみ)
この仕様では、「ここの部分の処理はショートカットには荷が重すぎるから、Javascriptにやらせたい」という要望は叶えられない。

そこで出番なのが

Scriptable
Developer Tools
0円
ユニバーサルアプリ: ○

だが、最近Run Inline Scriptという機能が追加された。

これまでは、ショートカットからScriptableを実行する場合も、実行するスクリプトはScriptable内に前もって保存しておかなければならなかった。
それが、今回追加されたRun Inline Scriptでは、ショートカットのScriptableアクションのパラメータとして実行するスクリプトを書いておける。


Returnで指定した値がショートカットに戻ってくる。この例ではJavascriptのコードはたった1行(長くて見た目は3行に折れ曲がっているが)。

これで、ちょっとしたJavascriptをショートカット内で実行するために、Data URIスキームを使って無理やり実行する必要が無くなった。


ちなみに、TaskumaのレポートをEvernoteから読み込みDynalistに画像付きで保存 - メモ・備忘録(設定ファイル・スクリプト類・ブックマーク)でやったように、逆にScriptableからショートカットを呼ぶことも可能。