0

Crossrider を使用して、ブラウザーのブックマークを管理し、開いているブラウザーのタブ/ウィンドウを監視し、[ユーザーがボタンをクリックしたときに] ユーザーの要求に応じてそれらをリモートサーバーに保存できるクロスブラウザー拡張機能を作成しようとしています。 「appAPI.browserAction.setPopup()」メソッドを使用してポップアップを作成するか、「サイドバー」プラグインを使用して開いているブラウザー タブ/ウィンドウを表示します。

Q-1. どちらか一方を使用することの利点/欠点は何ですか? Q-2. これを行う他の方法はありますか? Q-3. 開いているブラウザのタブ/ウィンドウを監視して表示する方法は?

また、ユーザーが拡張機能を再インストールし続けることなく、拡張機能の「ルック アンド フィール」と「機能」を継続的に更新できるように、リモート サーバー [私の Web サイトのサーバー] を使用して「画像、JavaScript、および CSS」ファイルをホストしたいと考えています。拡張機能のサイズを大きくすることなく。「画像、JavaScript、CSS」に「Resources」フォルダを使用できることは知っていますが、開発には上記の方法を好みます。

Q-4. リモートでホストされているファイルを拡張機能で使用する最良の方法は何ですか?

4

1 に答える 1

3

A-1. 通常、ボタンのポップアップのコンテンツは、拡張ボタンをクリックするたびに新たに作成されますが、サイドバーのコンテンツは保持されます。したがって、この情報に簡単にアクセスできるようにしたいと思われるこの例では、サイドバー プラグインを使用するのが理にかなっています。

A-2. これらのメソッドは、この種のコンテンツに対する 2 つの一般的なメソッドの中心となる概念をカプセル化します。つまり、ボタン ポップアップまたは HTML ページ (サイドバー) 内に埋め込みます。もちろん、ページ内にコンテンツを表示する方法については、あらゆる種類のソリューションが利用可能です ;-)

A-3. appAPI.tabs.onTabCreatedを使用して作成中のタブを監視し、コールバック関数を使用して必要なタスクを実行できます。ただし、ブラウザーの制限により、メソッドは現在のブラウザー インスタンスで作成された新しいタブのみを検出することに注意してください。

A-4. この質問は、拡張機能の構造について詳しく知らずに答えるのが少し難しいです。このコンテンツをページに挿入するか、拡張機能で JS を使用することを想定しています。したがって、次のように、 appAPI.resourcesappAPI.dom、または jQueryを使用して、スコープに応じてリモート ファイルを含めることができます。

extension.jsファイル内:

appAPI.ready(function($) {
  // Includes remote JS file into extension.js scope
  appAPI.resources.includeRemoteJS('http://example.com/file.js');

  // Injects remote JS file into HTML page
  appAPI.dom.addRemoteJS('http://example.com/file.js');

  // Injects remote CSS file into HTML page
  appAPI.dom.addRemoteCSS('http://example.com/file.css');

  // Injects remote image file into HTML page
  $('<img src="http://example.com/file.png">').appendTo('body');
});

background.jsファイルで:

appAPI.ready(function() {
  var remoteJS = appAPI.resources.get('http://example.com/file.js');
  eval(remoteJS);
});

免責事項:私はクロスライダーの従業員です

于 2013-07-14T08:22:50.463 に答える