2011-04-01 58 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> 

與此代碼,避免出現「變量問題」