弹出窗口关闭时播放声音文件(Google扩展程序)

时间:2012-07-31 18:04:45

标签: javascript html5 google-chrome google-chrome-extension

我正在开发Google扩展程序来播放一组歌曲。扩展程序有一个弹出窗口来进行音量控制。我用jPlayer播放歌曲。

我面临两个问题:

  1. 如果弹出窗口关闭,音乐会停止(因为播放器的代码在弹出窗口中。如何在后台继续播放音乐?
  2. 弹出窗口关闭时如何记住变量?例如,假设我有一个变量status,表示播放器的当前状态(播放/停止)。问题是,因为当弹出窗口关闭时变量被破坏,我怎么能在弹出窗口之间记住它们

1 个答案:

答案 0 :(得分:1)

  1. 不要将播放器嵌入弹出窗口,将其放入background page。然后,也避免了问题2.
  2. 使用localStorage(或chrome.storage)保存数据 另一种选择是将消息传递到后台页面。这通常可以使用message passing来完成。在弹出式窗口中,使用chrome.extension.getBackgroundPage()

    // popup.js:
    var background = chrome.extension.getBackgroundPage();
    // On load?
    var data = background.saved_data;
    
    // ... Later, when data changes, update data:
    background.saved_data = data;
    
  3. 以下是在Chrome扩展程序的后台页面中使用无边框Youtube播放器播放视频的示例:https://stackoverflow.com/a/9379277/938089(包括所有文件)。