WebロケーションファイルをSafari以外のブラウザーで開くのに成功した!

Macで便利なのが、URLをデスクトップにドラッグするだけで残しておける「Webロケーションファイル」です。しかし、永年の問題が「開くデフォルトWebブラウザーをSafari以外に変えられない」ことでした。それが、試行錯誤を続けた結果、ついに解決しました!この4ヶ月ほど様子を見ていますが、理想的な状態です。途中でデバイスの入れかもしましたが、問題ありません。以前の興奮を振り返りつつ、経緯を公開しておきます。

そもそも、Webロケーションファイルweblocって、何?

Webロケーションファイル
Webロケーションファイル

Webロケーションファイルとは、macOSで使われるURLのクリッピングファイルのことです。WebブラウザーのURL欄の左端の鍵アイコン(SSLの場合)を掴んで、Finderにドラッグ&ドロップするだけで、@マークのアイコンが付いたファイルを簡単に作れます。拡張子は .webloc。Webブラウザーのウインドウにドラッグすれば、いつでもまたそのページを開けます。

macOS標準の機能なので、特別なツールも不要です。ブックマークに残したり、他者と共有するまでではない参照先のURLを、簡単に単独のファイルとして残しておけるので、私は普段から資料制作や検索結果の保存に便利に使っています。というより、はっきりいってこれがないと仕事になりません!

WebロケーションファイルはデフォルトWebブラウザーで開けない
WebロケーションファイルはデフォルトWebブラウザーで開けない

この便利なWebロケーションファイルですが、システム設定でデフォルトWebブラウザーをSafari以外に変えていても、ダブルクリックするとSafariが起動してしまいます。Appleの縛りなんでしょうが、この問題はずっと解決されていませんでした。たびたび海外のQ&Aサイトを探しても、有効な解決策が見つかりませんでした。

これがやっと解決できた(かもしれない)ので、この興奮もご理解いただけると何よりです。Apple Silicon/Intel両方のMacで今も上手く機能しています。ただ、macOS Ventura 13では、途中から(?)「Safari(デフォルト)」のまま、システム設定で選択したデフォルトブラウザーで開けるようになってい(る気がし)ます。

永年の問題がクリアになったにも関わらずすぐに公開しなかった理由は、自分の環境だけの話かもしれず、しかも確実な手順を再現できず、万人のための解決策にはなっていない可能性があったからです。とはいえ、今も同じ悩みを抱えている方の参考と、将来の確実な解決のために公開しておきます。

Webロケーションファイルを使うと幸せになれそうな人

  • 仕事でMacをメインに使っている皆さん
  • 調べたり、作ったり、まとめたり、管理したりする、つまり普通の人々
  • iPhone/iPadよりは、Macでの作業時間が長いクリエーターのご同輩

Webロケーションファイルのココがイイ!

  • WebブラウザーのURL部分を、Finderにドラッグ&ドロップするだけ(制限あり、後述)。自動的にそのページのタイトルがファイル名になるので、文字列でも中身が判断できる
  • (ソーシャル)ブックマークに残すほどではないURLを、自分だけ用に保存しておくのに、手軽で便利。調べ物やプレゼン資料、企画提案制作などに不可欠。
  • Quick Lookで中身をプレビューしたり、Spotlightで検索できるのも嬉しい(これも制限あり、後述)。
  • 文字列の情報だけを残しておくテキストクリッピングファイル textClipping と違い、ファイルのダブルクリック(ただし、これだとSafariで開くのが問題)やWebブラウザーへのドラッグ&ドロップで、そのURLにアクセス可能
  • 中身はテキストなので、ファイルサイズも極小。テキストエディターで開いて編集も可能
  • Dropboxで同期できる(今回のカギも問題もコレ!後述)。

Webロケーションファイルのココは要注意!

  • Webロケーションファイルのファイル情報をFinderで見ると、「このアプリケーションで開く」がSafariに固定されている。グレーアウトしたまま、他のWebブラウザーに変更できない。システム設定でデフォルトのWebブラウザーをSafari以外に設定していても、それが反映されない。ファイルやフォルダのアクセス権は関係ない。
  • そのため、Webロケーションファイルをダブルクリックすると、Safariが起動してしまう。ただし、環境によって挙動が異なり、デフォルトのWebブラウザーで開けることもある。FirefoxをデフォルトWebブラウザーにしている環境では、そのままFirefoxで開ける報告あり(macOS Ventura 13では解消されたかもしれないものの、公式アナウンスなどはない)。
  • Chrome系とSafariとで、作るWebロケーションファイルの記述方式が違う!Chrome系で作られたWebロケーションファイルは、Safariでも開けるが、逆は開けない!
  • 一部のURLでは、Webロケーションファイルが作れない(原因不明、再現性あり)。
  • 複数のWebロケーションファイルをChrome系Webブラウザーにドラッグ&ドロップしても、1つのWebページしか開けない
  • Dropboxで同期できるが、ファイル名に絵文字や特殊記号が入っていると同期エラーになるのは、他のファイル同様。
  • 基本的にmacOSでしか使われていないので、他者との共有には適さない。そもそも自分のiPhoneからでも見られない。なお、Windowsではデフォルトで開けないので、WeblocOpenerを使うのが便利。

Webロケーションファイルの作り方・注意点

Webロケーションファイルを作る時の、通常の動作は以下の通りです。Chrome系とSafariとで違うことと、同じSafariでも作り方によって違うこと、これらの違いが見た目ではわからない点に注意を。

Chrome系の場合

  1. Webブラウザーに表示されるURL左側の、SSLを示す鍵アイコンをドラッグする。ブラウザーのウインドウ内では、マウスアローの下に緑の[+]アイコンが表示される。
  2. そのまま、ウインドウの外へ出てFinderに移動すると、緑の[+]アイコンは消える。ドロップすれば、Webロケーションファイルが作られる。
  3. ダブルクリックしても、Webブラウザーのウインドウにドラッグ&ドロップしても、元のページのURLを開ける。

Safariの場合

  1. URL部分がハイライトされた状態でFinderにドラッグ&ドロップすると、Webロケーションファイルが作られる(Chrome系ブラウザーと違い、URL左側の鍵アイコンを掴んでもドラッグ&ドロップできない)。
  2. URL部分をクリックしてハイライトし、テキストとしてドラッグ&ドロップしても、Webロケーションファイルは作られる。ただし、この方法で作ったWebロケーションファイルは、前述の方法とは中の構造が違う(どちらもChrome系ブラウザーで開ける)。また、ファイル名が例えば「twitter.com/」のようなURLで始まる型式になるので、ファイル名だけでは中身がわからない。

Webロケーションファイルを開くWebブラウザーを変更できた手順

今回、興奮しながら書き殴ったメインの部分はココです!確信はありませんが、Dropboxの同期のタイミングかキャッシュが影響したハックのような気がしています。くどいですが、再現性は不明なのでご注意を。

  1. 使うのはクラウドサービスDropbox。再検証のために使っているのは、現時点の最新リリース版Dropbox 175.2.1208だが、成功したのは2023年1月時点。
  2. 「システム設定」>「プライバシーとセキュリティ」>「フルディスクアクセス」で、自分が使うWebブラウザーを許可しておく。
「フルディスクアクセス」を許可しておく
「フルディスクアクセス」を許可しておく
Dropboxで同期済みファイル
Dropboxで同期済みファイル
  1. Webブラウザーで、任意のURLを開き「Dropbox」フォルダ内の任意の場所にURLをドラッグ&ドロップして、Webロケーションファイルを作る。Dropboxで同期されたファイルには、アイコンの右下にシンクロのマークが付く。
  1. この時点で、「情報を見る」となぜか、Webロケーションファイルを開くアプリケーションが「Safari」ではなく「Dropbox」になっている。変更はできない。ちなみに、複数のWebロケーションファイルを作って「インスペクタを表示」(option-command-I)すると、アプリケーションが選べるが、コード-10823のエラーで変更できないのは同じ。
エラーコード-10823でエラーに
エラーコード-10823でエラーに
  1. 次に、Webロケーションファイルをテキストエディターで開き、プレーンテキスト.txtとして別名で保存する。
  2. プレーンテキストファイルを複製し、拡張子を.weblocに変更する。アラートが表示されるので続行する。
テキストファイルとして保存し、複製してweblocに戻す
テキストファイルとして保存し、複製してweblocに戻す
  1. プレーンテキストとWebロケーションファイルの両方を選択し、「インスペクタを表示」するとなぜか「このアプリケーションで開く」が選択できるようになっている!リストに自分が開きたいWebブラウザーが表示されているならそれを選択し、なければ「その他…」で選択する。
開くアプリケーションを選択
開くアプリケーションを選択
  1. 自分が開きたいWebブラウザーを選択し、[すべてを変更…]ボタンをクリックする。アラートで[OK]ボタンをクリックし、何もエラーが表示されなければ、大成功!
  2. 他のWebロケーションファイルの「情報を見る」もチェックして、「このアプリケーションで開く」がデフォルトWebブラウザーに変更されていることを確認する(再び、変更できなくなっている)。ダブルクリックして、設定したWebブラウザーで開けることを確認して完了!!

私の複数の環境ではこれで上手くいき、そのまま問題なく使えているんですが、どうでしょう?単なる思い込み?皆さん、そもそもWebロケーションファイルってそんなに使ってないとか!?

Dropboxとの関係も要注意

WebロケーションファイルはMac用だと考えていいですが、実はMac版Dropboxにも問題があって、この両者が関係しているとちょっと複雑です。

一番の問題は、Mac版Dropboxの仕様変更で、「オンラインのみ」同期のファイルの中身を検索できなくなったことです。Spotlightインデックスが生成されないので、何か企画を作ったりコンテンツを作る時に、『xxxに関するサイトを、このフォルダのどこかにクリップしていたはず…』という中身で探せないわけです。Webロケーションファイルに限らず、KeynoteやPDF、リッチテキストしかりで、これが非常に辛い!

Webロケーションファイルの話に戻ると、Dropboxで同期している時、「オフラインアクセスを許可」でローカルデバイスにファイルの実体がある状態だと、「このアプリケーションで開く:Safari」で固定されたままです。一方、「オンラインのみ」の同期だと、ファイルサイズが0 byteになっていて、「このアプリケーションで開く:Dropbox」になっています。ファイルをダブルクリックすると、Dropboxが実データを同期して、完了したら指定したアプリケーションで開くのは、他のファイルと同様です。

ちなみに、一度変更に成功したWebロケーションファイルの「このアプリケーションで開く」は、再変更できなくなりました。この挙動は、最初と同じですね。再現性が担保できないので、一旦、元に戻して、もう一度同じ方法でテストもできていません(大体、長い間苦労して、折角、成功したんだし!)。

試しに、この状態でデフォルトWebブラウザーをSafariに変更してみたところ、WebロケーションファイルをダブルクリックしてもちゃんとSidekickで開きました。しつこく繰り返しますが、これはたまたま私の環境で上手くいった「ことがある」レベルです。


しばらく様子を見たり、別の環境で試してみますが、ついにWebロケーションファイルを開くデフォルトWebブラウザーを、Safari以外へ変更するのに成功したと確信しました!これは私のワークフローの中ではかなりの改善なので公開しました。

ただ問題は、再現性が分からないこと… :'( 何を、どんな風にやって成功したのか?他者のデバイスを触る機会があれば、その時にまたテストしてみます。