Re: [-Fx-] PTT Web Enhanced PTT網頁版強化套件

看板Browsers (瀏覽器)作者 (道可道非常道)時間6年前 (2017/09/16 00:36), 6年前編輯推噓32(32058)
留言90則, 8人參與, 最新討論串3/8 (看更多)
※ 引述《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

09/16 00:46, , 1F
文章列表大寫S(誤
09/16 00:46, 1F

09/16 01:30, , 2F
我覺得可以把色碼改成 Putty 的色碼,看起來比較亮
09/16 01:30, 2F

09/16 10:56, , 3F
感謝一樓,學到一招XD
09/16 10:56, 3F

09/16 13:07, , 4F
這個應該只能用暴力法把前面幾頁的文章標題都抓進來搜尋?
09/16 13:07, 4F

09/16 13:07, , 5F
有人知道手機app是怎麼連線PTT的嗎?
09/16 13:07, 5F

09/16 13:29, , 6F
手機 APP 不意外是用 telnet/ssh 拉內容 parse 吧
09/16 13:29, 6F
自己講的自己寫XD 寫了個測試版放 GitHub,原原PO可以參考看看: https://github.com/danny0838/firefox-ptt-web-enhanced ※ 編輯: danny0838 (36.225.72.138), 09/16/2017 18:32:20

09/17 23:18, , 7F
最近有 websocket 支援囉 不過 parse 還是一樣麻煩
09/17 23:18, 7F

09/18 13:46, , 8F
印象中手機有專用的連線方式? 是我記錯了嗎
09/18 13:46, 8F

09/18 15:56, , 9F
article.js增加的行數都比原本的行數多了XD
09/18 15:56, 9F

09/18 15:57, , 10F
這會送很多request嗎? 我怕會對PTT造成負擔
09/18 15:57, 10F

09/18 16:13, , 11F
這篇會fetch 16次 感覺有點多XD
09/18 16:13, 11F

09/18 16:14, , 12F
假如是使用者點選了才開始fetch的話 我想就比較沒問題
09/18 16:14, 12F

09/18 16:15, , 13F
感謝提供 我再仔細研究研究
09/18 16:15, 13F
增加負擔是難免,不過對大多數站台而言, 使用者瀏覽網頁時都會在背後送出許多 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

09/18 17:13, , 14F
是這樣沒錯,不過瀏覽器有cache
09/18 17:13, 14F

09/18 17:14, , 15F
點進下面台電那篇,24個request只送了3個,其他都讀cache
09/18 17:14, 15F

09/18 17:16, , 16F
我們fetch的資料應該也可以自己暫存起來,就不用送那麼多次
09/18 17:16, 16F
PTT 文章更動很快,過幾分鐘可能文章列表就改變了。 另外,瀏覽器本身應該就會盡量使用快取的內容, 而且會根據伺服器傳回 header 辨識內容是否有更新而決定是否使用快取。 ※ 編輯: danny0838 (1.164.20.52), 09/18/2017 18:21:48

09/18 18:49, , 17F
對耶,都忘了fetch也會用cache
09/18 18:49, 17F

09/18 18:50, , 18F
不過文章列表應該是動態產生的,會不會用cache可能要測看看
09/18 18:50, 18F

09/18 18:51, , 19F
開了debug視窗,結果network頁面跑不出東西...
09/18 18:51, 19F

09/18 18:54, , 20F
文章列表也只有最新幾頁變動很快就是了,舊的還是可以快取
09/18 18:54, 20F

09/19 18:40, , 21F
實測結果,文章列表不會被cache,每次fetch都會重抓@@
09/19 18:40, 21F

09/19 18:42, , 22F
所以這功能我會把它預設關閉,有需要的人再自行開啟
09/19 18:42, 22F
糟糕...看來只好自己寫快取功能了XD 目前預計新分頁1~3分鐘,舊分頁10分鐘 (舊分頁的定義暫訂用小於總頁數 - 10,一頁 20 篇,因此最近 200 篇以前的就會快取) 另一個問題:開啟推文自動更新時,新的推文不會自動加上標示哦,有沒有打算修?XD ※ 編輯: danny0838 (1.164.29.214), 09/19/2017 22:01:46

09/19 23:47, , 23F
我沒在用推文自動更新 也沒人反映過 所以暫時不處理
09/19 23:47, 23F

09/19 23:48, , 24F
要改的功能太多了 還是改天吧XD
09/19 23:48, 24F
目前有沒有預計要改哪些功能? 我如果有空也許可以做做看 ※ 編輯: danny0838 (1.164.29.214), 09/20/2017 00:37:17

09/20 01:27, , 25F
謝天XDD。其實之前也有注意到推文更新的部分,不過因為用
09/20 01:27, 25F

09/20 01:27, , 26F
到的機會少,所以沒做反映。
09/20 01:27, 26F

09/20 11:49, , 27F
我想先把目前進度整理到GitHub上,不然我們各做各的到時候
09/20 11:49, 27F

09/20 11:49, , 28F
應該很難整合
09/20 11:49, 28F

09/20 11:57, , 29F

09/20 11:57, , 30F
預計要改的功能(的一部份)
09/20 11:57, 30F

09/20 13:03, , 31F
文章頁面增加部分選項的開關還滿不錯的
09/20 13:03, 31F

09/20 13:05, , 32F
顯示輔助資訊會佔用畫面空間,可是會用到的情況很偶爾
09/20 13:05, 32F

09/20 13:09, , 33F
應該說主要是會吸走注意力
09/20 13:09, 33F

09/20 13:55, , 34F
沒錯,像是樓層就滿適合的
09/20 13:55, 34F
還有 21 則推文
還有 1 段內文
09/21 11:30, , 56F
3.我覺得有需要。可以的話就麻煩你了
09/21 11:30, 56F
不曉得你有沒有支援 Chrome 的打算? 如果有,也許早點做準備會比較好。 如果一開始沒構思好,到時候打算支援雙瀏覽器,要費的工會等比級數上升。 ※ 編輯: danny0838 (59.115.20.234), 09/21/2017 15:49:48

09/21 22:20, , 57F
有想過,想說等功能做到一個段落再來考慮
09/21 22:20, 57F

09/21 22:21, , 58F
以前沒寫過套件,一開始就要支援雙瀏覽器的話,
09/21 22:21, 58F

09/21 22:21, , 59F
可能會多花很多時間,所以就先專心做Fx版
09/21 22:21, 59F

09/22 13:53, , 60F
同主題串接功能上架囉
09/22 13:53, 60F

09/22 15:02, , 61F
重新設定後,退出到擴充套件列表再回去,設定值消失
09/22 15:02, 61F

09/22 18:02, , 62F
這邊測試是沒有問題的@@ 我再檢查看看 感謝
09/22 18:02, 62F

09/22 19:19, , 63F
我也想說會不會跟上次一樣,過一段時間自己好了XD
09/22 19:19, 63F

09/22 19:19, , 64F
到現在這個時間尚未正常
09/22 19:19, 64F

09/22 19:21, , 65F
另外按還原成預設值的按鍵沒作用,按之前勾不同的設定
09/22 19:21, 65F

09/22 19:22, , 66F
按之後勾選的設定都不會改變
09/22 19:22, 66F

09/22 19:23, , 67F
Firefox ESR 52.3.0(32位元)
09/22 19:23, 67F

09/22 19:44, , 68F
推一個,同主題串接的功能實際試用起來還蠻不錯的。另外
09/22 19:44, 68F

09/22 19:44, , 69F
想請問一下是否時間或頁數差距過大的同主題就不會串接了
09/22 19:44, 69F

09/22 19:45, , 70F
?例如#1Pkn_Wcy (Little-Games)這篇。
09/22 19:45, 70F

09/22 19:45, , 71F
(P.S 55.0.3目前沒有遇到設定上的問題。)
09/22 19:45, 71F
是的,因為 PTT 網頁版沒有提供真正的索引功能, 而讓程式真的爬幾千頁顯然不太合適, 因此目前只會抓前後 4 個列表(約 100 篇)。 ※ 編輯: danny0838 (1.164.19.182), 09/22/2017 20:49:15

09/22 21:18, , 72F
了解,感謝。
09/22 21:18, 72F

09/23 15:24, , 73F
因為Firefox 52不支援同步設定,先暫時改回使用本機設定
09/23 15:24, 73F

09/23 15:25, , 74F
目前審核中,應該一會兒就審好了
09/23 15:25, 74F

09/23 15:36, , 75F
忘了回2F: 自訂顏色的功能我列入清單裡了,謝謝建議
09/23 15:36, 75F

09/23 16:51, , 76F
感謝Kenqr大大
09/23 16:51, 76F
不支援同步設定的版本執行 storage.sync 會出錯嗎? 我印象中也是能儲存,只是不能透過網路同步而已, 也就是另一個空間比較小的 storage.local。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:11:16

09/23 17:19, , 77F
我有裝52ESR測試,設定值讀不到。錯誤訊息說要到
09/23 17:19, 77F

09/23 17:19, , 78F
about:config裡開啟才能使用storage.sync
09/23 17:19, 78F

09/23 17:21, , 79F
另外storage.sync還是有東西,所以也不能直接用
09/23 17:21, 79F

09/23 17:22, , 80F
if(browser.storage.sync)來判斷有沒有支援
09/23 17:22, 80F
如果設定值開了,會有什麼功能上的異常嗎? 如果沒有,我個人是傾向還是用 sync,告知舊版使用者開設定值就好XD 畢竟我們還是要面向未來的。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:24:54

09/23 18:08, , 81F
還沒測試,不過我覺得叫使用者開設定不算是個解法
09/23 18:08, 81F

09/23 18:08, , 82F
應該會有不少人不想開/不知道要開/不會開
09/23 18:08, 82F

09/23 18:08, , 83F
所以比較傾向偵測有支援就用sync,沒有就用local
09/23 18:08, 83F

09/23 18:09, , 84F
我只支援52起跳,已經很面向未來啦XD
09/23 18:09, 84F

09/23 19:02, , 85F
感恩
09/23 19:02, 85F
我剛才檢查了一下, 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

09/23 23:06, , 86F
忘了push到GitHub XD 現在上去了
09/23 23:06, 86F

09/23 23:06, , 87F
WE文件是說53以上支援sync storage
09/23 23:06, 87F

09/23 23:11, , 88F
跟我想的解法一樣 這個我來處理就好了 感謝
09/23 23:11, 88F

09/24 17:30, , 89F
1.5.2已上架
09/24 17:30, 89F

09/24 17:30, , 90F
Fx52設定儲存在本機空間,53以上設定儲存在同步空間
09/24 17:30, 90F
文章代碼(AID): #1Pl06c5T (Browsers)
討論串 (同標題文章)
文章代碼(AID): #1Pl06c5T (Browsers)