看板 Browsers 關於我們 聯絡資訊
※ 引述《Kenqr (function(){})()》之銘言: : https://addons.mozilla.org/zh-TW/firefox/addon/ptt-web-enhanced/ : http://i.imgur.com/3tvnCvf.png
: 自己做的PTT網頁版強化套件,所以來自產自銷一下 剛才向別人推銷時想到的: 試試能否做出同主題串接的功能(上一篇、下一篇、首篇、末篇、列表), 應該會很實用。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.72.138 ※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1505493414.A.15D.html
HardRealTime: 文章列表大寫S(誤 09/16 00:46
kuro: 我覺得可以把色碼改成 Putty 的色碼,看起來比較亮 09/16 01:30
toploader: 感謝一樓,學到一招XD 09/16 10:56
Kenqr: 這個應該只能用暴力法把前面幾頁的文章標題都抓進來搜尋? 09/16 13:07
Kenqr: 有人知道手機app是怎麼連線PTT的嗎? 09/16 13:07
CP64: 手機 APP 不意外是用 telnet/ssh 拉內容 parse 吧 09/16 13:29
自己講的自己寫XD 寫了個測試版放 GitHub,原原PO可以參考看看: https://github.com/danny0838/firefox-ptt-web-enhanced ※ 編輯: danny0838 (36.225.72.138), 09/16/2017 18:32:20
s25g5d4: 最近有 websocket 支援囉 不過 parse 還是一樣麻煩 09/17 23:18
Kenqr: 印象中手機有專用的連線方式? 是我記錯了嗎 09/18 13:46
Kenqr: article.js增加的行數都比原本的行數多了XD 09/18 15:56
Kenqr: 這會送很多request嗎? 我怕會對PTT造成負擔 09/18 15:57
Kenqr: 這篇會fetch 16次 感覺有點多XD 09/18 16:13
Kenqr: 假如是使用者點選了才開始fetch的話 我想就比較沒問題 09/18 16:14
Kenqr: 感謝提供 我再仔細研究研究 09/18 16:15
增加負擔是難免,不過對大多數站台而言, 使用者瀏覽網頁時都會在背後送出許多 CSS, JS, 圖片 等 request, 多一點的到二三十個是常態,而且傳輸內容很多是無法壓縮的二進位檔。 相較之下,這裡用 fetch 送出 20 個左右的 request 及傳輸可壓縮的純文字內容 (經 gzip 壓縮後大約 40~60 KB),或許不算太嚴重? 使用者點擊再 fetch 也是個解法,不過由於 fetch 時間相當長, 如果使用者按一個鈕要等 7~8 秒才有反應,用起來可能不會很爽... ※ 編輯: danny0838 (1.164.20.52), 09/18/2017 17:03:05
Kenqr: 是這樣沒錯,不過瀏覽器有cache 09/18 17:13
Kenqr: 點進下面台電那篇,24個request只送了3個,其他都讀cache 09/18 17:14
Kenqr: 我們fetch的資料應該也可以自己暫存起來,就不用送那麼多次 09/18 17:16
PTT 文章更動很快,過幾分鐘可能文章列表就改變了。 另外,瀏覽器本身應該就會盡量使用快取的內容, 而且會根據伺服器傳回 header 辨識內容是否有更新而決定是否使用快取。 ※ 編輯: danny0838 (1.164.20.52), 09/18/2017 18:21:48
Kenqr: 對耶,都忘了fetch也會用cache 09/18 18:49
Kenqr: 不過文章列表應該是動態產生的,會不會用cache可能要測看看 09/18 18:50
Kenqr: 開了debug視窗,結果network頁面跑不出東西... 09/18 18:51
Kenqr: 文章列表也只有最新幾頁變動很快就是了,舊的還是可以快取 09/18 18:54
Kenqr: 實測結果,文章列表不會被cache,每次fetch都會重抓@@ 09/19 18:40
Kenqr: 所以這功能我會把它預設關閉,有需要的人再自行開啟 09/19 18:42
糟糕...看來只好自己寫快取功能了XD 目前預計新分頁1~3分鐘,舊分頁10分鐘 (舊分頁的定義暫訂用小於總頁數 - 10,一頁 20 篇,因此最近 200 篇以前的就會快取) 另一個問題:開啟推文自動更新時,新的推文不會自動加上標示哦,有沒有打算修?XD ※ 編輯: danny0838 (1.164.29.214), 09/19/2017 22:01:46
Kenqr: 我沒在用推文自動更新 也沒人反映過 所以暫時不處理 09/19 23:47
Kenqr: 要改的功能太多了 還是改天吧XD 09/19 23:48
目前有沒有預計要改哪些功能? 我如果有空也許可以做做看 ※ 編輯: danny0838 (1.164.29.214), 09/20/2017 00:37:17
stucode: 謝天XDD。其實之前也有注意到推文更新的部分,不過因為用 09/20 01:27
stucode: 到的機會少,所以沒做反映。 09/20 01:27
Kenqr: 我想先把目前進度整理到GitHub上,不然我們各做各的到時候 09/20 11:49
Kenqr: 應該很難整合 09/20 11:49
Kenqr: https://i.imgur.com/31oewY5.png 09/20 11:57
Kenqr: 預計要改的功能(的一部份) 09/20 11:57
toploader: 文章頁面增加部分選項的開關還滿不錯的 09/20 13:03
toploader: 顯示輔助資訊會佔用畫面空間,可是會用到的情況很偶爾 09/20 13:05
toploader: 應該說主要是會吸走注意力 09/20 13:09
Kenqr: 沒錯,像是樓層就滿適合的 09/20 13:55
Kenqr: 目前的設想是樓層和放大圖片兩個功能可以在文章頁面開關 09/20 13:55
Kenqr: 開關就放在下方導覽列 09/20 13:56
Kenqr: https://github.com/Kenqr/ptt-web-enhanced 放上GitHub了 09/20 18:34
Kenqr: "避免套件重新啟用時重複執行" 改成自動重整會不會比較好? 09/20 18:37
Kenqr: 還有設定值改用sync storage,這樣原本的設定值就消失了, 09/20 18:45
Kenqr: 你覺得需要做個轉換機制嗎? 09/20 18:47
toploader: 我個人的需求會希望樓層與推噓文統計都能開關 09/20 19:31
toploader: *都能在文章頁面臨時快速開啟 09/20 19:32
grimms42191: 樓上這樣開開關關有什麼優點嗎0.0? 09/20 21:39
toploader: 開開關關......那兩個功能對我來說不常用到,有用到的 09/20 21:43
toploader: 又會很方便,但是只要出現在那裡,就算是不需要那些 09/20 21:44
toploader: 資訊,就是會去下意識瞄一下,引走注意力 09/20 21:44
toploader: *有用到的時候又會很方便,能快速開啟最好 09/20 21:45
toploader: 該怎麼說...我不知道要怎麼再進一步解釋XD 09/20 21:48
toploader: 我現在沒用到那些功能的時候,就是會去改套件設定, 09/20 21:50
toploader: 麻煩的程度是還好,但是看到Kenqr已經有打算做這樣一個 09/20 21:51
toploader: 可以暫時開啟功能的開關,對我來說就是意外之喜XD 09/20 21:52
toploader: 讓原本就在做的事情更方便了 09/20 21:53
grimms42191: 瞭解XDD 09/20 22:06
我重新 fork 你的版本庫並且把測試版本從主開發線拿掉了: https://github.com/danny0838/ptt-web-enhanced 1. 改成自動重整對使用者而言當然是比較好,不過技術上比較不好做, 所以先用比較簡單的方法暫時解決問題。 如果你有意思實做咱們就再研究看看吧XD 2. 設定值改用sync storage導致原本設定值消失。 對使用者而言當然也是自動轉換比較好,不過技術上比較麻煩就是... 我個人是認為反正選項很少,以後應該也不會常發生,讓大家知道一下就可以了XD 3. 「自動連結討論串」我先把預設值改為不勾選, 至於 cache 不曉得是否有確定做? 要的話我有空處理看看。 ※ 編輯: danny0838 (1.164.20.52), 09/20/2017 22:30:15
Kenqr: 1.偵測到套件重新啟用時reload就可以了吧? 09/21 11:21
Kenqr: 2.好 那就不做XD 09/21 11:22
Kenqr: 3.我覺得有需要。可以的話就麻煩你了 09/21 11:30
不曉得你有沒有支援 Chrome 的打算? 如果有,也許早點做準備會比較好。 如果一開始沒構思好,到時候打算支援雙瀏覽器,要費的工會等比級數上升。 ※ 編輯: danny0838 (59.115.20.234), 09/21/2017 15:49:48
Kenqr: 有想過,想說等功能做到一個段落再來考慮 09/21 22:20
Kenqr: 以前沒寫過套件,一開始就要支援雙瀏覽器的話, 09/21 22:21
Kenqr: 可能會多花很多時間,所以就先專心做Fx版 09/21 22:21
Kenqr: 同主題串接功能上架囉 09/22 13:53
toploader: 重新設定後,退出到擴充套件列表再回去,設定值消失 09/22 15:02
Kenqr: 這邊測試是沒有問題的@@ 我再檢查看看 感謝 09/22 18:02
toploader: 我也想說會不會跟上次一樣,過一段時間自己好了XD 09/22 19:19
toploader: 到現在這個時間尚未正常 09/22 19:19
toploader: 另外按還原成預設值的按鍵沒作用,按之前勾不同的設定 09/22 19:21
toploader: 按之後勾選的設定都不會改變 09/22 19:22
toploader: Firefox ESR 52.3.0(32位元) 09/22 19:23
stucode: 推一個,同主題串接的功能實際試用起來還蠻不錯的。另外 09/22 19:44
stucode: 想請問一下是否時間或頁數差距過大的同主題就不會串接了 09/22 19:44
stucode: ?例如#1Pkn_Wcy (Little-Games)這篇。 09/22 19:45
stucode: (P.S 55.0.3目前沒有遇到設定上的問題。) 09/22 19:45
是的,因為 PTT 網頁版沒有提供真正的索引功能, 而讓程式真的爬幾千頁顯然不太合適, 因此目前只會抓前後 4 個列表(約 100 篇)。 ※ 編輯: danny0838 (1.164.19.182), 09/22/2017 20:49:15
stucode: 了解,感謝。 09/22 21:18
Kenqr: 因為Firefox 52不支援同步設定,先暫時改回使用本機設定 09/23 15:24
Kenqr: 目前審核中,應該一會兒就審好了 09/23 15:25
Kenqr: 忘了回2F: 自訂顏色的功能我列入清單裡了,謝謝建議 09/23 15:36
toploader: 感謝Kenqr大大 09/23 16:51
不支援同步設定的版本執行 storage.sync 會出錯嗎? 我印象中也是能儲存,只是不能透過網路同步而已, 也就是另一個空間比較小的 storage.local。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:11:16
Kenqr: 我有裝52ESR測試,設定值讀不到。錯誤訊息說要到 09/23 17:19
Kenqr: about:config裡開啟才能使用storage.sync 09/23 17:19
Kenqr: 另外storage.sync還是有東西,所以也不能直接用 09/23 17:21
Kenqr: if(browser.storage.sync)來判斷有沒有支援 09/23 17:22
如果設定值開了,會有什麼功能上的異常嗎? 如果沒有,我個人是傾向還是用 sync,告知舊版使用者開設定值就好XD 畢竟我們還是要面向未來的。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:24:54
Kenqr: 還沒測試,不過我覺得叫使用者開設定不算是個解法 09/23 18:08
Kenqr: 應該會有不少人不想開/不知道要開/不會開 09/23 18:08
Kenqr: 所以比較傾向偵測有支援就用sync,沒有就用local 09/23 18:08
Kenqr: 我只支援52起跳,已經很面向未來啦XD 09/23 18:09
toploader: 感恩 09/23 19:02
我剛才檢查了一下, Firefox < 51 是 storage.sync === undefined, Firefox >= 52 是 storage.sync !== undefined, 且有 webextensions.storage.sync.enabled 設定值, 這設定值在 Firefox 52 是預設為 false,不曉得哪版以後預設為 true。 而如果使用者沒有手動改過設定值,升級為新版時會自動變更成新版的預設值, 也就是 Fx 52 使用者若未手動設成 true, 升級到預設為 true 的 Fx 版本也會自動變 true。 我想比較簡單的處理方式是一律先跑 storage.sync, 出錯就 catch 起來 fallback 到 storage.local。 你新版放了嗎?我在 GitHub 沒看到XD ※ 編輯: danny0838 (1.164.19.182), 09/23/2017 21:44:34
Kenqr: 忘了push到GitHub XD 現在上去了 09/23 23:06
Kenqr: WE文件是說53以上支援sync storage 09/23 23:06
Kenqr: 跟我想的解法一樣 這個我來處理就好了 感謝 09/23 23:11
Kenqr: 1.5.2已上架 09/24 17:30
Kenqr: Fx52設定儲存在本機空間,53以上設定儲存在同步空間 09/24 17:30