このアプリがすごい No.24 Safari Snippets – ブックマークレットをExtensionで呼び出せるアプリ

ブックマークレットって便利なんですけど、登録方法がやたらめんどくさい。
もっと手軽に登録できたり呼び出せたらいいのにと思ってきましたが、このアプリを使うとその願いが叶います。

Safari Snippets

ydangle
ユーティリティ, 仕事効率化
評価: –

¥ 120 → +無料

こんなアプリが欲しかった。
セールなのか無料になっていたので取り急ぎ。

 

使い方

WorkflowのようにブラウザのExtensionから呼び出します。

▼Extensionを呼び出す

Inject Snippetというのがそうです。

Inject Snippetをタップするといくつか登録されているものが出てきますので、それを試してみましょう。

▼サンプルのスニペット一覧

トップにあるAuto scrollerは実行するとSafariが自動的にゆっくり下までスクロールするものです。

用意されているスニペットはExtensionから選択するとそのまま実行されますが、アプリ本体から開くと編集が可能になっています。

▼スニペットの編集

とても見やすいですね。
実際にAuto scrollerの編集をしてみましょう。
スクロールをもっと速くしたいってひとは、4行目のscrollSpeedを5に増やしてみてください。保存ボタンは無いので、編集したらそのまま反映されます。
実行するとスクロールが速くなったと思います。ただし一度のスクロール量が5倍になったので動きがガクガクして読みにくくなったはずです。
なので、次はスムーズなスクロールのまま速くするためにscrollSpeedは1にして、28行目の数字を変更します。
setInterval(scroll, 50);
と書かれている数字を今度は減らしてみてください。10に変更すれば元の5倍速くなります。

scrollSpeedはスクロール量を、setIntervalは実行間隔を意味しています。

他にも自分で用意したJavaScriptを登録することも可能です。
基本的にはブックマークレットも使えるんですが、URLエンコードされたものはデコードをしてから使うようにしてください。
%20などのように%で表記されたものをそのまま使おうとするとエラーが出ます。

たとえば下のページで紹介されているブックマークレットなんかとても便利ですけど、このアプリではそのままでは使えません。
iOS 10 Safariでページ最下部に移動する方法

このページで紹介されているブックマークレットは、下のように書き換えてやる必要があります。

%22body%22)%5B0%5D
 ↓
“body”)[0]

%22とか%5Bがエンコードされていた部分ですね。

私が以前に書いた↓記事に載せてあるブックマークレットはそのまま使えます。

Amazonの価格推移を調べるブックマークレットとWorkflow | reliphone

これくらいのことならWorkflowを使うよりずっと速くていいね。
いろいろお試しください。

 

ここがオススメ

このアプリが素晴らしいのはSafariだけでなくアプリ内ブラウザからもブックマークレットを呼び出せるってところなんです。(←※ここ大事)

アプリ内ブラウザってそこからブックマークに登録はできても、ブックマークを呼び出すことはできないんですよ。なので当然ブックマークレットも使うことができなかった。
しかしSafari Snippetsがあればアプリ内ブラウザのExtensionからJavaScriptが呼び出せるようになる。

TweetbotとかReederなどのSafariViewControllerを使ったアプリからであれば、内蔵ブラウザをいちいちSafariに切り替えることなくそのまま呼び出せるんです。(Twitter公式アプリもバージョン7.0から使えるようになりました)
単純なことをやらせるためにWorkflowを使うのはちょっと動作が遅いし快適ではありませんでしたけど、複雑な作業をWorkflowに、シンプルなことはSafari Snippetsと分けておくと便利になるでしょう。

Safariでのブックマークレットはとても編集しにくくて嫌になるくらいでしたけど、このアプリはシンタックスハイライトもあって非常に編集しやすいのが嬉しいですね。保存ボタンが無くて書き換えたら即反映されるのもありがたい。

アカウントを作るとスニペットを公開することもできます。
公開したもので人気のものはアプリ内で表示されています。

 

ここが惜しい

なんの説明も無く存在するログインボタン。
メールアドレス不要で登録できるので一応やってみましたが、いまのところスニペットを公開する用途にしか使われていないようです。(ログインしないとPublishできない)
また通常であれば左にスワイプすることで自分の作ったスニペットを削除することができるのですが、公開したスニペットにはローカルにも削除ボタンが出てこない。公開したものをサーバーから消す方法も用意されていないようなのでここは十分に注意してほしい。
ログアウトボタンも無いしちょっとこのあたりはよろしくないね。

未評価を含む公開されているスニペットの一覧ってどこから見ればいいのかが不明なんで、高評価のスニペット一覧ってのは実際には機能してないのかなと思う。

スニペットが2つに増殖するバグがあるようです。片方を消せばいいのでたいした問題にはならないけど。

 

総評

最近リリースされたものかと思っていたら、2016年6月24日に出ていたアプリでした。
こんなにも可能性を秘めたアプリが知られることなく一年も前から存在していたとは、なんともったいないことをしていたんだと震えています。

リリース以来アップデートは一度もされていないので、今後不具合の修正などが行われるかは先行き不透明ですけど、ユーザーが増えれば開発を再開してくれないものだろうかという淡い期待を持ちつつこの記事を書いているので、みなさんも気に入ったらストアにレビューを残したり、友達にシェアしたりして広めてあげてくださいね。
無料ですし。

かつてMyScriptsというJavaScriptを実行できるアプリがあったんですけど、ずいぶん前に開発が止まってしまい「いつかExtensionから呼び出せるMyScriptsが出てほしいなぁ」と妄想していたものです。それがSafari Snippetsでついに叶ってとても嬉しい。
JavaScriptってWorkflowよりもとっつきにくいものですが、すごく便利に使えるので是非トライしてみてください。

ちなみに各種ブックマークレットについての質問は私にしないでください。(←ここも大事)

 

おまけ

URLエンコードされたブックマークレットをデコードするだけのWorkflowを置いておきます。

ワークフローをインポートする

クリップボードの中身をデコードして、またクリップボードにコピーするだけのシンプルなものです。
デコードしたいブックマークレットをコピーしてから実行してください。

コメントを残す