2011-07-03 82 views
1

所以即时建立一个镀铬扩展,我已经放置了播放电台的音频播放器。它在弹出窗口打开时工作,但在弹出窗口关闭后停止。在弹出窗口关闭后是否可以保持音频播放器流动?如果是的话,你能给我一些关于如何实现这一目标的想法吗?谢谢弹出关闭后如何保持音频[mp3播放器]在Chrome中播放?

编辑@Serg 我想我已经有它在一个背景页面?我的设置如下。在我的popup.html中,我有一个导航栏,链接到各个html页面。要了解这些链接是针对iframe的。

popup.html

<div class="nav-bar"> 
      <a href="latest.html" target="frame" style="color:#FFF"><li class="nav">Latest</li></a> 
      <a href="podcasts.html" target="frame" style="color:#FFF"><li class="nav">Podcasts</li></a> 
      <a href="books.html" target="frame" style="color:#FFF"><li class="nav">Books</li></a> 
      <a href="stream.html" target="frame" style="color:#FFF"><li class="nav">Radio Stream</li></a> 
</div> 

     <iframe src="latest.html" scrolling="auto" width="480" height="330" style="border:0px;" name="frame"></iframe> 

段段从stream.html

<div id="player" style="float:right;width:480px;margin:0;padding:0"></div> 

<script type="text/javascript"> 
var so = new SWFObject('http://www.radiostation.com/embed/minipro.swf','fmp256','480','70','9'); 
so.addParam('allowscriptaccess','always'); 
so.addParam('allowfullscreen','false'); 
so.addParam('wmode','transparent'); 
//so.addParam('flashvars','playlistsize=40&playlist=bottom&file=http://www.radiostation.com/feed.xml'); 
so.write('player'); 
</script> 

你能帮我明白你把它放在一个背景页是什么意思?我该怎么去做呢?

Edit2 @Serg我试图把它放到后台页面,但我不知道如何正确地执行它,然后在stream.html上调用它。

段从background.html

function getPlayerStream(){ 
       var so = new SWFObject('http://www.site.com/embed/minipro.swf','fmp256','480','70','9'); 
so.addParam('allowscriptaccess','always'); 
so.addParam('allowfullscreen','false'); 
so.addParam('wmode','transparent'); 
//so.addParam('flashvars','playlistsize=40&playlist=bottom&file=http://www.site.com/feed.xml'); 
so.write('player'); 
      } 

stream.html

<html> 
    <head> 
<link href="css/style.css" rel="stylesheet"/> 
<script type="text/javascript" src="http://www.site.com/embed/swfobject.js"></script> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

     <script type="text/javascript"> 
      background = chrome.extension.getBackgroundPage(); 
      background.getPlayerStream(); 
     </script> 
    </head> 
    <body> 

     <div id="content"> 


     <div id="player" style="float:right;width:480px;margin:0;padding:0">The live feed player is currently offline.</div> 

     </div> 
    </body> 
</html> 

回答

2

嵌入您的播放器到背景页。

背景页面是一个不可见但始终加载的独特页面。你可以阅读关于它here

您目前在stream.html中的内容需要在后台页面中,如果您希望它始终保持加载状态。

UPDATE

您的实际<div id="player">需要在后台页面。您无法在iframe中实际看到播放器,只能通过javascript以编程方式控制播放器(如果该播放器支持此选项)。

+0

请参阅编辑:) – Jonathan

+0

@Jonny编辑答案。 – serg

+0

我想我明白了。请参阅edit2。我在正确的轨道上吗? – Jonathan