繁体   English   中英

如何使用JavaScript切换广播电台

[英]How to switch the radio station with javascript

我是编程和尝试使其工作的新手。 我想为用户提供选择他们想收听的广播电台的选项...这是我想出的,但是不起作用,任何帮助都值得赞赏:

<script language="javascript" type="text/javascript">
    // You can place JavaScript like this
    document.getElementById("radiostations").selectedIndex = 0;
    document.getElementById("radiostations").onchange = resetStation;
    function resetStation(){
            objPlayer = document.getElementById("mediaPlayer");
            // obj.Settings.volume = 75
            newStation = document.getElementById("radiostations");
            objPlayer.URL=newStation.options[newStation.selectedIndex].value;          // playback this file
            objPlayer.controls.play();                                                  // play what ever file is loaded

    }

</script>

<form name="mediaPlay">
    <select name="radiostations" size="1">
        <option selected  value="http://listen.radionomy.com/smoothmusicradio">Smooth Music</option>
        <option value="http://www.urbanhotradio.com/hiphop/music/stream.asx">Hip-Hop</option>
        <option value="http://www.orsradio.com/asx/rnbclassic.asx">R&B Soul</option>
    </select>
    <noscript>
        <input type="button" value="Play Now!"
        onClick="location=document.mediaPlay.radiostations.options
        [document.mediaPlay.radiostations.selectedIndex].value">
    </noscript>
</form>


<OBJECT ID="MediaPlayer" WIDTH="100%" HEIGHT="100" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
    STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">
    <PARAM NAME="FileName" VALUE=newStation.options[newStation.selectedIndex].value>
    <PARAM name="ShowControls" VALUE="true">
    <param name="ShowStatusBar" value="true">
    <PARAM name="ShowDisplay" VALUE="false">
    <PARAM name="autostart" VALUE="false">
    <EMBED TYPE="application/x-mplayer2" SRC=newStation.options[newStation.selectedIndex].value NAME="MediaPlayer"
        WIDTH="100%" HEIGHT="100" ShowControls="1" ShowStatusBar="1" ShowDisplay="0" autostart="0"> 
    </EMBED>
</OBJECT>​

我不确定这些是否是唯一的问题,但是您的JS有两个明显的问题:

  1. 您正在使用document.getElementById("radiostations")来引用您的select元素,但是该元素没有id属性-您需要在标记中添加id="radiostations"

    <select id="radiostations" name="radiostations" size="1">

  2. 您的脚本块位于表单之前,因此当JS运行时,浏览器尚未解析选择内容-因此,它将无法访问select元素(即使解决了id问题)。 您可以通过以下方式解决此问题:将脚本块移至主体底部(或至少在select元素之后),和/或将代码放入onload处理程序中。

(我也注意到在您的<noscript>块中,您有一个尝试使用JavaScript的按钮-无法使用...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM