Chromeでコンテンツハンドラを作成できますか?


6

特定のURLで特定のデスクトップアプリケーションを開くようにしたいのですが、自分のルールでURLを検出する必要があります。私はOS Xを実行していますが、それを実行するためのOSに依存しない方法がある場合は、それをお勧めします。それをする方法はありますか?

クロムWebアプリケーションでは、コンテンツハンドラを登録し、新しいタブで開くのではなく、Webアプリケーションに特定のURLを処理させることができます。これらを自分で追加できるかどうか私は興味がありますか? ( stackoverflowリファレンス

設定>に行きました。詳細設定を表示...>コンテンツ設定...(プライバシー)>ハンドラを管理します。そこにハンドラのリストがあるようですが、どうやって追加できるのかわかりません。 Chromeプラグインを作成するだけでいいのですか。

私も知っている BrowserFairy それは私がOS Xで欲しいものをするように聞こえます...

ありがとう。


1
「特定のURLに特定のアプリを開かせたい」 - Webアプリやスタンドアロンアプリのようなアプリ?後者の場合、どのOS上で? (あなたの投稿はOSXについて言及していますが、それがあなたが使用しているものであるかどうかは特定していません。)
Karan

@Karanさん、質問を更新しましたが、スタンドアローンのデスクトップアプリとOS Xを実行していますが、OSに依存しない方がより便利です。
xbakesx

うーん、よくわからない registerProtocolHandler 明らかなセキュリティ問題により、デスクトップアプリを起動することができます。プロトコルハンドラをOS自体に登録する必要があると思います。私はWindows上でこれを実行する方法を知っていますが、私はChromeを持っていないので、あなたはそれをテストしなければなりません。 (私はIEとFFでそれをテストしたが、それは動作します。)
Karan

Windowsではどうしますか。私はそれがデスクトップアプリケーションを起動できるかどうかも確信しています。それがiTunesとApp StoreのURLが機能する理由です。
xbakesx

以下の情報とともに回答を追加しました。 Windowsの場合OSに関係なくこれを行う一般的なChrome専用の方法がない場合は、OSごとに個別の質問をするとよいでしょう。
Karan

回答:


5

Windowsでは、カスタムURLプロトコルハンドラを手動で登録することができます。 URLプロトコルへのアプリケーションの登録 MSDNの記事、またはあなたがと呼ばれる小さなアプリを使用することができます カスタムURL それはこれを自動化します。下記のようにハンドラを追加するだけで(Chromeには "web"プレフィックスが必要だと思います)、アプリは実際のアプリの起動とURLの受け渡しと同様にレジストリの編集を処理します。

1



1

OSXでは、あなたが含める必要があります CFBundleURLTypes アプリケーションのinfo.plistファイルにあります。これがあなたが使用できるサンプルです:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>Local File</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>local</string>
        </array>
   </dict>
</array>

詳細情報が必要な場合は、チェックしてください。 このブログ記事 。少し古いですがまだ有効です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.