サイトのプレーヤーを管理するためのAPI

背景


2012年から2013年にかけて、私は1つのオンラインラジオを見つけました。これは、優れた音楽の幅広いセレクションと、広告が(ほとんど)なかったという事実に私を「引っ掛け」ました。


私の立場では、私はWeb開発者であり、科学のさまざまな技術や開発にも興味があります。そのため、ブラウザーには多くのタブがあり、ブラウザーにはいくつかのプロファイルがあります。 そして、これに開発環境、グラフィカルエディターを追加し、フォルダーを開いてから、少なくとも開いているすべてのウィンドウとタブでナビゲーターを起動します。


ほとんどの場合、ブラウザのタブにある音楽。 通話に応答したり面白いビデオを見るために再生を一時停止する必要があったとき、最初に適切なブラウザウィンドウを見つけ、次に右のタブを見つけなければなりませんでした。その後、大切な一時停止ボタンを押すことができました。


これは頻繁に起こり、ますます頻繁にこの問題の解決策を見つける方法を知り始めました。
再考することなく、ブラウザの拡張機能を作成することにしました。これにより、ホットキー(一部のブラウザの用語ではショートカット)を使用して再生を制御できます。


また、アーティストと作品の名前を知りたいと思うことが多かったので、この情報にポップアップアラートを追加することにしました。


すぐに使える拡張機能


今日、私の拡張機能を使用すると、いくつかのサイト(SoundCloud、Digitally Imported、VKontakte、Odnoklassniki、Online Radio 101.ru、VGM Radio)で既に再生を制御したり、その他のアクション(現在のトラックをプレイリストに追加したり、トラックを好きなようにマークしたり、ボリュームを変更したりできます)音)。 これは、ショートカットと通知のボタンの両方を使用して行われます(ボタンはOperaには表示されません)。


プレーヤーのステータスが変更されたとき、またはショートカットを押したときに、トラック情報を含む(ミュート)アラートもあります。


また、これらのVKontakte、Google、およびAmazonを検索できる最新の10トラックのリストもあります。


API


拡張機能には、他のサイトのサポートを追加するAPIがあります。


各サイト(プレーヤー)はモジュールとして追加されます。 組み込みモジュールと外部モジュールがあります。


組み込みモジュール

組み込みモジュールは私の拡張機能の一部であり、その設定は拡張機能設定ページで利用できます。 モジュールを接続するには、ユーザーは拡張機能に、対応するドメインのページのタブとコンテンツにアクセスする許可を与える必要があります。


外部モジュール

外部モジュールは、APIを介して拡張機能に接続し、拡張機能のすべての機能にアクセスできる個別の拡張機能です(通知のショートカットとボタン、および最近のトラックのリストを介してプレーヤーを制御します)。 それらの設定は、拡張機能のオプションページでも利用できます。


外部モジュールとは何ですか?


APIの場所とその使用方法

このAPIは、GitHubのMITライセンスの下で利用できます(以下のリンクを参照)。


サードパーティの開発者の参入障壁を下げるためにES5で作成されましたが、これにより、より近代的な仕様と技術でモジュールを作成したい人を止めることはできません。


APIの使用例

2つの外部モジュール(個別の拡張機能として利用可能)と、APIを使用する1つの組み込みモジュールがあります。


組み込みまたは外部モジュール

組み込みまたは外部モジュール? 「...それが問題です」とクラシックが言ったように。


APIを使用して新しいプレーヤーのサポートを追加する場合は、次のヒントを使用してください。



参照資料



フィードバック


質問、苦情、提案を歓迎します。 コメントに残すか、 他の方法のいずれかを使用します



Source: https://habr.com/ru/post/J306072/


All Articles