为什么这不起作用(javascript +音频播放器)

时间:2011-04-01 08:56:24

标签: php javascript audio-player

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

编辑:更新了问题

如果我直接传递了网址,那么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

2 个答案:

答案 0 :(得分: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> 

答案 1 :(得分: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>

使用此代码可以避免“变量问题”