1

音楽を再生するGoogle拡張機能を作成しようとしています。拡張機能を閉じて他のサイトを閲覧したときにも拡張機能が再生されるようにします。manifest.json、background.html、または main.html (インデックス/ポップアップ ファイル) のコードを変更する必要がありますか? これが私のmanifest.jsonのコードです:

{
    "name": "SpeedSongz.fm",
    "description": "Instantly listen to your favorite music and radios.",
    "version": "1.0",
    "browser_action": {
        "default_icon": "icon.png",
        "default_title": "SpeedSongz.fm",
        "popup": "main.html"
    },
    "background_page" : "background.html"
}

では、実際の拡張機能が閉じられていても音楽がバックグラウンドで実行され続けるようにコードを作成するにはどうすればよいでしょうか? 出来ますか?ありがとう!

4

2 に答える 2

6

さらに、bakcrond ページに 2 つの機能を作成するために、1 つは音楽を停止し、もう 1 つは音楽を再起動することができます。

function stop(){

}

function start(){

}

したがって、ユーザーが main.html を開くと、2 つのリスナーを持つ 2 つのアイコンが表示され、それぞれが次のようなバックグラウンド ページ関数を呼び出すことができます。

var backgroundpage = chrome.extension.getBackgroundPage();
$("start_button").click(function(){
backgroundpage.start();
});

$("stop_button").click(function(){
backgroundpage.stop();
});

:)

編集:

popup.html:

<html><head><script type="text/javascript" src="jquery.js"></script> 
<script>
$(document).ready(function(){
    var bgp = chrome.extension.getBackgroundPage();
    $("#start_btn").click(function(){
        bgp.start();
    });

    $("#stop_btn").click(function(){
        bgp.stop();
    });
});
</script>
</head><body>
<div>
    <button type="button" id="start_btn">Start</button>
    <button type="button" id="stop_btn">Stop</button>
</div>
</body></html>

background.html:

<html><head><script type="text/javascript" src="jquery.js"></script> 
<script>
var audio = new Audio('guitar.mp3');
audio.loop="loop";
audio.play();

function start(){
    audio.play();
}

function stop(){
    audio.pause();
}

</script>
</head><body></body></html>

以上です :)

于 2012-05-16T20:00:36.380 に答える
2

背景ページはまさにこの目的を果たします。それらは通常のページのように機能しますが、表示されません (もちろん開発者モードにアクセスしない限り)。バックグラウンド ページは、拡張機能が読み込まれている間ずっとアクティブです。

サイトからバックグラウンド ページと通信するには、コンテンツ スクリプトを使用してページにメッセージを送信します。

于 2012-05-15T03:31:37.170 に答える