13

javascript: spotify play buttonを使用して、全体が書かれているように見えるこの再生ボタンをチェックしてください。

再生を押すと、Spotify が音楽の再生を開始することに注意してください。OK、それはアプリ固有のプロトコル リンク (spotify://play など) を介して行われていると思いますが、間違っている可能性もあります。しかし、クレイジーな部分は、Spotify で音楽の再生を停止すると、ブラウザでボタンが更新され、音楽の再生が停止したことを示すことです! それはどのように機能しますか?

そのソースはこちらで見ることができます。

4

3 に答える 3

4

デスクトップは*.spotilocal.comコンピュータでサーバーを実行し、Web では埋め込みプレーヤー () がサブドメイン名 (例: fdxubmxkqp.spotilocal.com) を選択します。

次に、ローカル サーバーの API にリクエストを送信します。例:

https://fdxubmxkqp.spotilocal.com:4370/service/version.json
https://fdxubmxkqp.spotilocal.com:4370/simplecsrf/token.json

そして、JSON を返すだけです。

{
"version": 9, 
"client_version": "1.0.10.107.gd0dfca3a"
}

詳細については、このスクリーンショットを参照してください。または、 news.spotify.comにアクセスしてネットワーク インスペクターをspotilocalフィルターとして使用すると、同じ情報を取得できます。

ここに画像の説明を入力

于 2015-08-05T16:32:24.340 に答える
3

Spotify の再生ボタンは、localhost で実行されている Spotify アプリケーションを (HTTPS 経由で) ロング ポーリングして、状態を更新します。

于 2013-07-01T22:19:04.933 に答える
3

(注、これは彼らが実際に行う方法ではありませんが、似たようなものを実装しようとしている人にとっては有効な答えです)

カスタム プロトコル コンテンツ ハンドラの使用

カスタム プロトコル コンテンツ ハンドラを登録します。Web サイトでそのプロトコルを処理するために、ブラウザーを介して任意の"web-*"プロトコルのプロトコルを登録できますが、インストール時にアプリケーションをプロトコルに登録することもできます。(これがSpotifyの仕組みです)。こちらの記事を参照してください。

URL プロトコルへのアプリケーションの登録

ブラウザーは、特定のハンドラーを認識するように構成できます。

すべてのブラウザーがどのように機能するかはわかりませんが、上記のリンク先の記事にあるように、Internet Explorer のレジストリ レベルで機能すると思います。

とにかく、Chrome と Firefox にはwindow.navigator.registerProtocolHandlerプロトコルを登録する機能があります。

ここを参照してください: https://developer.mozilla.org/en-US/docs/DOM/navigator.registerProtocolHandler

また、この非常に短い記事もチェックしてください。(かなり情報が少ないですが)


Chrome 13 にはついにnavigator.registerProtocolHandler. この API を使用すると、Web アプリは特定のプロトコルの可能なハンドラーとして自分自身を登録できます。たとえば、ユーザーは「mailto」リンクを処理するアプリケーションを選択できます。

次のようなプロトコル スキームを登録します。

navigator.registerProtocolHandler(
    'web+mystuff', 'http://example.com/rph?q=%s', 'My App');

回答でこれを明確にしなかった場合に備えて、Web アプリケーションが独自のプロトコルを登録する方法と、デスクトップ アプリケーションが新しいプロトコルを登録する方法に関する情報を提供しました。web-*(セキュリティ上の懸念を避けるために、任意の Web アプリに接頭辞を付ける必要があります)

于 2012-10-28T20:48:42.267 に答える