作者georgemouse (喬治鼠)
看板WebRadio
標題Re: [問題] foo_request_http的songlist
時間Thu Jan 27 18:40:46 2011
http://georgemouse.myweb.hinet.net/foo_request_http_v09-0.4_fix.zip
使用說明:
解壓縮後,
請將songlist.html放在template/ajax資料夾下覆蓋原檔,
requester.js則直接放在template資料夾下覆蓋原檔。
js_flat.html和js_index.html通常每個電台主自己都會有所修改,
所以建議是直接用筆記本開html檔案,
找到這一段程式碼:
<script type="text/javascript">
var pe = new PeriodicalExecuter(ShowTimer.run.bind(ShowTimer), 1);
</script>
加入紅色那三行字如下即可:
<script type="text/javascript">
var pe = new PeriodicalExecuter(ShowTimer.run.bind(ShowTimer), 1);
<FOOBAR2000-Info>
var songs_per_page = %max_song_view%;
</FOOBAR2000-Info>
</script>
若是不會改或是改不起來,
也可以直接把壓縮檔裡的js_flat.html和js_index.html覆蓋到template資料夾下。
附註:
foobar_request_http的Max Song View,
這個參數是指一頁最多能同時看到的歌曲數,
當歌曲數量多於這個就要按鈕翻到下一頁。
---以下是修改部分的說明,對程式碼沒興趣就跳過吧---
原程式碼無法運作主要是兩個地方沒寫好:
(1)songlist.html
這個網頁就是js_flat.html和js_index.html顯示歌單表格分頁部分的網頁。
其中,
<FOOBAR2000-SongListNavPrev>、
<FOOBAR2000-SongListNavNext>
這兩個標籤部分所包的程式碼就是Next、Prev的按鈕,
當客戶端按下按鈕就會呼叫requester.js的函式updateFromThis。
原本的程式在這邊傳入的參數格式有問題,
首先就是要把這邊的傳入參數(params)改成正確的格式。
(ex. "list_id=0_song_id=200"(X) ==> "list_id=0&song_id=200"(O) )
(2)requester.js
這是點歌網頁運作最主要的程式部分,以下只提與修改有關的部分。
updateFromThis在客戶端按下一頁或上一頁時,
會呼叫_update函式將表格部分的分頁用get的方式加入參數更新,
但是這邊可能是因為作者沒有寫好,
光是有list_id和song_id這兩個參數是不夠的,
這邊需要加上page的參數才能有效換頁。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.238.101
推 littlecut:讚讚讚 01/27 18:43
→ georgemouse:有問題再回報囉(茶) 01/27 18:45
→ tingyun60426:這篇要被m了嗎? XD 01/27 19:53
※ 編輯: georgemouse 來自: 114.33.238.101 (01/27 20:52)
→ georgemouse:補上修改部分的說明。 01/27 20:52
※ georgemouse:轉錄至看板 ShineRadio 01/27 21:13
→ chan324:被m了 01/27 22:45
→ georgemouse:......變數使用上有一點問題,我修一下晚點再放 01/28 10:10
※ 編輯: georgemouse 來自: 114.33.238.101 (01/28 12:58)
→ georgemouse:做了一些修正,昨天有下載過的人請再下載一次~~ 01/28 13:09
※ 編輯: georgemouse 來自: 114.33.238.101 (01/28 13:12)
※ georgemouse:轉錄至看板 ShineRadio 01/28 19:08