我正在尝试制作播放音乐的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"
}
那么如何制作代码,以便即使实际的扩展已关闭,音乐也会在后台继续运行?可能吗?谢谢!
答案 0 :(得分:6)
加功能可以,在bakcround页面中创建两个功能,一个 停止音乐,另一个重新开始:
function stop(){ } function start(){ }
因此,当用户打开main.html时,可能会有两个图标,其中包含两个图标 听众就可以了,每个人都可以调用背景页面功能,如:
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>
就是这样:))
答案 1 :(得分:2)
Background pages完全符合此目的。它们像常规页面一样,但是不可见(除非您当然访问开发人员模式)。在加载扩展程序的整个时间内,后台页面都处于活动状态。
为了与您网站的后台页面进行通信,您可以使用内容脚本并向页面发送消息。