Re: [問題] foo_request_http的songlist
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
推
01/27 18:43, , 1F
01/27 18:43, 1F
→
01/27 18:45, , 2F
01/27 18:45, 2F
→
01/27 19:53, , 3F
01/27 19:53, 3F
※ 編輯: georgemouse 來自: 114.33.238.101 (01/27 20:52)
→
01/27 20:52, , 4F
01/27 20:52, 4F
※ georgemouse:轉錄至看板 ShineRadio 01/27 21:13
→
01/27 22:45, , 5F
01/27 22:45, 5F
→
01/28 10:10, , 6F
01/28 10:10, 6F
※ 編輯: georgemouse 來自: 114.33.238.101 (01/28 12:58)
→
01/28 13:09, , 7F
01/28 13:09, 7F
※ 編輯: georgemouse 來自: 114.33.238.101 (01/28 13:12)
※ georgemouse:轉錄至看板 ShineRadio 01/28 19:08
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
WebRadio 近期熱門文章
PTT影音娛樂區 即時熱門文章