2011-04-01 69 views
0

我正在尝试在我的网站上使用JavaScript音频播放器(http://wpaudioplayer.com/standalone/)。我尝试将PHP变量传递给JavaScript,但似乎无法正常工作。 JavaScript将带有匹配id的html段替换为flash mp3播放器。为什么不能正常工作(javascript + audio player)

编辑:更新了问题

如果我直接将URL传递,MP3播放器播放,但是当我通过它通过一个变量没有。

这工作

<p id="audioplayer_<?php echo $i ?>">Install flash to use mp3 player</p> 
      <script type="text/javascript"> 
      var id = "audioplayer_" + <?php echo $i ?>;    
     AudioPlayer.embed(id, {soundFile: "http://site.com/mp3file.mp3"}); 
     </script> 

但这并不

<p id="audioplayer_<?php echo $i ?>">Install flash to use mp3 player</p> 
       <script type="text/javascript"> 
       var id = "audioplayer_" + <?php echo $i ?>; 
       var url = "<?php echo $url ?>";    
      AudioPlayer.embed(id, {soundFile: url}); 
      </script> 

$ url变量中的值是http://site.com/mp3file.mp3

+0

您能显示生成的HTML代码吗? – 2011-04-01 08:58:44

+0

好的。我包括输出 – 2011-04-01 09:12:30

+0

现在您再次排除了生成的HTML。请包含两个版本的HTML。 – 2011-04-01 09:59:29

回答

2

你忘了周围的网址引号,因为JavaScript的它是一个字符串。你的PHP代码更改为

<p id="audioplayer_<?php echo $i ?>">Install flash to use mp3 player</p> 
     <script type="text/javascript"> 
     var i = <?php echo $i ?>; 
     var url = "<?php echo $url ?>"; 
    AudioPlayer.embed("audioplayer_" + i, {soundFile: url}); 
    </script> 
+0

很酷。现在玩家已经嵌入,但是这是一个新问题。我更新了原始帖子 – 2011-04-01 09:26:21

0

如果你不需要的变量在任何其他地方,不使用它们,试试这个

<p id="audioplayer_<?php echo $i ?>">Install flash to use mp3 player</p> 
<script type="text/javascript"> 
AudioPlayer.embed("audioplayer_<?php echo $i; ?>", {soundFile: "<?php echo $url; ?>"}); 
</script> 

与此代码,避免出现“变量问题”