📄 music_browser.tmpl
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Final//EN"><HTML><HEAD> <TITLE>Online Music Browser</TITLE> <SCRIPT SRC="wddx/wddx.js"></SCRIPT> <SCRIPT> <!-- var archive_url = "http://www.my-mp3-site.com/downloads/"; function showArtists() { var artists = document.mbrowser.artistList; buildList( artists, "artist", "", "" ); if ( artists.options.length == 0 ) { listMsg( artists, "Sorry no artists available now" ); } showRecordings(); showSongs(); } function showRecordings() { var recordings = document.mbrowser.recordingList; if ( document.mbrowser.artistList.selectedIndex >= 0 ) { var selected = selectedValue( document.mbrowser.artistList ); buildList( recordings, "recording", "artist", selected ); } else { listMsg( recordings, "Please select an artist" ); } showSongs(); } function showSongs() { var songs = document.mbrowser.songList; songs.options.length = 0; songs.selectedIndex = -1; if ( document.mbrowser.recordingList.selectedIndex >= 0 ) { var selected = selectedValue( document.mbrowser.recordingList ); buildList( songs, "song", "recording", selected ); } else { listMsg( songs, "Please select a recording" ); } } function buildList( list, field, conditionField, conditionValue ) { list.options.length = 0; list.selectedIndex = -1; var showAll = ! ( conditionField && conditionValue ); var i = 0; var matched = new Object; // Used as hash to avoid duplicates for ( var j = 0; j < data[field].length; j++ ) { if ( ! matched[ data[field][j] ] && ( showAll || data[conditionField][j] == conditionValue ) ) { matched[ data[field][j] ] = 1; var opt = new Option(); opt.text = data[field][j]; opt.value = data[field][j]; list.options[i++] = opt; } } } function showSongInfo() { var form = document.mbrowser; var idx = -1; for ( var i = 0; i < data.artist.length; i++ ) { if ( data.artist[i] == selectedValue( form.artistList ) && data.recording[i] == selectedValue( form.recordingList ) && data.song[i] == selectedValue( form.songList ) ) { idx = i; break; } } form.artist.value = idx >= 0 ? data.artist[idx] : ""; form.recording.value = idx >= 0 ? data.recording[idx] : ""; form.song.value = idx >= 0 ? data.song[idx] : ""; form.venue.value = idx >= 0 ? data.venue[idx] : ""; form.date.value = idx >= 0 ? data.date[idx] : ""; form.duration.value = idx >= 0 ? data.duration[idx] : ""; form.size.value = idx >= 0 ? data.size[idx] : ""; form.filename.value = idx >= 0 ? data.filename[idx] : ""; } function getSong() { var form = document.mbrowser; if ( form.filename.value == "" ) { alert( "Please select an artist, recording, and song " + "to download." ); return; } open( archive_url + form.filename.value, "song" ); } function listMsg ( list, msg ) { list.options.length = 0; list.options[0] = new Option(); list.options[0].text = msg; list.options[0].value = "--"; } function selectedValue( list ) { return list.options[list.selectedIndex].value; } // --> </SCRIPT></HEAD><BODY BGCOLOR="#FFFFFF" onLoad="showArtists()"> <TABLE WIDTH="100%" BGCOLOR="#CCCCCC" BORDER="1"> <TR><TD ALIGN="center"> <H2>The Online Music Browser</H2> </TD></TR> </TABLE> <P>Listed below are the recordings available for download from this site. Please select an artist from the list at the left, a recording (or concert) by that artist from the list in the middle, and a song from the list on the right. All songs are available in MP3 format. Enjoy.</P> <HR NOSHADE> <FORM NAME="mbrowser" onSubmit="return false"> <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#CCCCFF" CELLPADDING="8" CELLSPACING="8"> <INPUT TYPE="hidden" NAME="selectedRecord" VALUE="-1"> <TR VALIGN="top"> <TD> <B><BIG>1)</BIG> Select an Artist:</B><BR> <SELECT NAME="artistList" SIZE="6" onChange="showRecordings()"> <OPTION>Leftover Salmon</OPTION> <OPTION>The Grateful Dead</OPTION> <OPTION>The Radiators</OPTION> <OPTION>Widespread Panic</OPTION> </SELECT> </TD> <TD> <B><BIG>2)</BIG> Select a Recording:</B><BR> <SELECT NAME="recordingList" SIZE="6" onChange="showSongs()"> <OPTION>Please select an artist</OPTION> </SELECT> </TD> <TD> <B><BIG>3)</BIG> Select a Song:</B><BR> <SELECT NAME="songList" SIZE="6" onChange="showSongInfo()"> <OPTION>Please select a concert</OPTION> </SELECT> </TD> </TR><TR> <TD COLSPAN="3" ALIGN="center"> <H3>Song Information</H3> <TABLE BORDER="0"> <TR> <TD><B>Artist:</B></TD> <TD><INPUT NAME="artist" TYPE="text" SIZE="40" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Recording:</B></TD> <TD><INPUT NAME="recording" TYPE="text" SIZE="40" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Song:</B></TD> <TD><INPUT NAME="song" TYPE="text" SIZE="40" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Venue:</B></TD> <TD><INPUT NAME="venue" TYPE="text" SIZE="40" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Date:</B></TD> <TD><INPUT NAME="date" TYPE="text" SIZE="20" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Duration:</B></TD> <TD><INPUT NAME="duration" TYPE="text" SIZE="10" onFocus="this.blur()"></TD> </TR><TR> <TD><B>Download Size:</B></TD> <TD><INPUT NAME="size" TYPE="text" SIZE="10" onFocus="this.blur()"></TD> </TR> </TABLE> </TD> </TR><TR ALIGN="center"> <TD COLSPAN="3"> <INPUT TYPE="hidden" NAME="filename" VALUE=""> <INPUT TYPE="button" NAME="download" VALUE="Download Song" onClick="getSong()"> </TD> </TR> </TABLE> </FORM><SCRIPT> <!--<TMPL_VAR NAME="song_data">// --></SCRIPT> </BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -