Browsers 板


LINE

※ 引述《Kenqr (function(){})()》之銘言: : https://addons.mozilla.org/zh-TW/firefox/addon/ptt-web-enhanced/ : http://i.imgur.com/3tvnCvf.png
: 自己做的PTT網頁版強化套件,所以來自產自銷一下 剛才向別人推銷時想到的: 試試能否做出同主題串接的功能(上一篇、下一篇、首篇、末篇、列表), 應該會很實用。 --
QR Code



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.72.138
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Browsers/M.1505493414.A.15D.html
1F:推 HardRealTime: 文章列表大寫S(誤 09/16 00:46
2F:→ kuro: 我覺得可以把色碼改成 Putty 的色碼,看起來比較亮 09/16 01:30
3F:推 toploader: 感謝一樓,學到一招XD 09/16 10:56
4F:推 Kenqr: 這個應該只能用暴力法把前面幾頁的文章標題都抓進來搜尋? 09/16 13:07
5F:→ Kenqr: 有人知道手機app是怎麼連線PTT的嗎? 09/16 13:07
6F:→ 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
7F:推 s25g5d4: 最近有 websocket 支援囉 不過 parse 還是一樣麻煩 09/17 23:18
8F:推 Kenqr: 印象中手機有專用的連線方式? 是我記錯了嗎 09/18 13:46
9F:→ Kenqr: article.js增加的行數都比原本的行數多了XD 09/18 15:56
10F:→ Kenqr: 這會送很多request嗎? 我怕會對PTT造成負擔 09/18 15:57
11F:推 Kenqr: 這篇會fetch 16次 感覺有點多XD 09/18 16:13
12F:→ Kenqr: 假如是使用者點選了才開始fetch的話 我想就比較沒問題 09/18 16:14
13F:→ 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
14F:推 Kenqr: 是這樣沒錯,不過瀏覽器有cache 09/18 17:13
15F:→ Kenqr: 點進下面台電那篇,24個request只送了3個,其他都讀cache 09/18 17:14
16F:推 Kenqr: 我們fetch的資料應該也可以自己暫存起來,就不用送那麼多次 09/18 17:16
PTT 文章更動很快,過幾分鐘可能文章列表就改變了。 另外,瀏覽器本身應該就會盡量使用快取的內容, 而且會根據伺服器傳回 header 辨識內容是否有更新而決定是否使用快取。 ※ 編輯: danny0838 (1.164.20.52), 09/18/2017 18:21:48
17F:推 Kenqr: 對耶,都忘了fetch也會用cache 09/18 18:49
18F:→ Kenqr: 不過文章列表應該是動態產生的,會不會用cache可能要測看看 09/18 18:50
19F:→ Kenqr: 開了debug視窗,結果network頁面跑不出東西... 09/18 18:51
20F:→ Kenqr: 文章列表也只有最新幾頁變動很快就是了,舊的還是可以快取 09/18 18:54
21F:推 Kenqr: 實測結果,文章列表不會被cache,每次fetch都會重抓@@ 09/19 18:40
22F:→ Kenqr: 所以這功能我會把它預設關閉,有需要的人再自行開啟 09/19 18:42
糟糕...看來只好自己寫快取功能了XD 目前預計新分頁1~3分鐘,舊分頁10分鐘 (舊分頁的定義暫訂用小於總頁數 - 10,一頁 20 篇,因此最近 200 篇以前的就會快取) 另一個問題:開啟推文自動更新時,新的推文不會自動加上標示哦,有沒有打算修?XD ※ 編輯: danny0838 (1.164.29.214), 09/19/2017 22:01:46
23F:→ Kenqr: 我沒在用推文自動更新 也沒人反映過 所以暫時不處理 09/19 23:47
24F:→ Kenqr: 要改的功能太多了 還是改天吧XD 09/19 23:48
目前有沒有預計要改哪些功能? 我如果有空也許可以做做看 ※ 編輯: danny0838 (1.164.29.214), 09/20/2017 00:37:17
25F:推 stucode: 謝天XDD。其實之前也有注意到推文更新的部分,不過因為用 09/20 01:27
26F:→ stucode: 到的機會少,所以沒做反映。 09/20 01:27
27F:推 Kenqr: 我想先把目前進度整理到GitHub上,不然我們各做各的到時候 09/20 11:49
28F:→ Kenqr: 應該很難整合 09/20 11:49
29F:→ Kenqr: https://i.imgur.com/31oewY5.png 09/20 11:57
30F:→ Kenqr: 預計要改的功能(的一部份) 09/20 11:57
31F:推 toploader: 文章頁面增加部分選項的開關還滿不錯的 09/20 13:03
32F:→ toploader: 顯示輔助資訊會佔用畫面空間,可是會用到的情況很偶爾 09/20 13:05
33F:→ toploader: 應該說主要是會吸走注意力 09/20 13:09
34F:推 Kenqr: 沒錯,像是樓層就滿適合的 09/20 13:55
35F:→ Kenqr: 目前的設想是樓層和放大圖片兩個功能可以在文章頁面開關 09/20 13:55
36F:→ Kenqr: 開關就放在下方導覽列 09/20 13:56
37F:推 Kenqr: https://github.com/Kenqr/ptt-web-enhanced 放上GitHub了 09/20 18:34
38F:→ Kenqr: "避免套件重新啟用時重複執行" 改成自動重整會不會比較好? 09/20 18:37
39F:→ Kenqr: 還有設定值改用sync storage,這樣原本的設定值就消失了, 09/20 18:45
40F:→ Kenqr: 你覺得需要做個轉換機制嗎? 09/20 18:47
41F:推 toploader: 我個人的需求會希望樓層與推噓文統計都能開關 09/20 19:31
42F:→ toploader: *都能在文章頁面臨時快速開啟 09/20 19:32
43F:推 grimms42191: 樓上這樣開開關關有什麼優點嗎0.0? 09/20 21:39
44F:→ toploader: 開開關關......那兩個功能對我來說不常用到,有用到的 09/20 21:43
45F:→ toploader: 又會很方便,但是只要出現在那裡,就算是不需要那些 09/20 21:44
46F:→ toploader: 資訊,就是會去下意識瞄一下,引走注意力 09/20 21:44
47F:→ toploader: *有用到的時候又會很方便,能快速開啟最好 09/20 21:45
48F:→ toploader: 該怎麼說...我不知道要怎麼再進一步解釋XD 09/20 21:48
49F:→ toploader: 我現在沒用到那些功能的時候,就是會去改套件設定, 09/20 21:50
50F:→ toploader: 麻煩的程度是還好,但是看到Kenqr已經有打算做這樣一個 09/20 21:51
51F:→ toploader: 可以暫時開啟功能的開關,對我來說就是意外之喜XD 09/20 21:52
52F:→ toploader: 讓原本就在做的事情更方便了 09/20 21:53
53F:推 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
54F:推 Kenqr: 1.偵測到套件重新啟用時reload就可以了吧? 09/21 11:21
55F:→ Kenqr: 2.好 那就不做XD 09/21 11:22
56F:→ Kenqr: 3.我覺得有需要。可以的話就麻煩你了 09/21 11:30
不曉得你有沒有支援 Chrome 的打算? 如果有,也許早點做準備會比較好。 如果一開始沒構思好,到時候打算支援雙瀏覽器,要費的工會等比級數上升。 ※ 編輯: danny0838 (59.115.20.234), 09/21/2017 15:49:48
57F:推 Kenqr: 有想過,想說等功能做到一個段落再來考慮 09/21 22:20
58F:→ Kenqr: 以前沒寫過套件,一開始就要支援雙瀏覽器的話, 09/21 22:21
59F:→ Kenqr: 可能會多花很多時間,所以就先專心做Fx版 09/21 22:21
60F:推 Kenqr: 同主題串接功能上架囉 09/22 13:53
61F:推 toploader: 重新設定後,退出到擴充套件列表再回去,設定值消失 09/22 15:02
62F:推 Kenqr: 這邊測試是沒有問題的@@ 我再檢查看看 感謝 09/22 18:02
63F:推 toploader: 我也想說會不會跟上次一樣,過一段時間自己好了XD 09/22 19:19
64F:→ toploader: 到現在這個時間尚未正常 09/22 19:19
65F:→ toploader: 另外按還原成預設值的按鍵沒作用,按之前勾不同的設定 09/22 19:21
66F:→ toploader: 按之後勾選的設定都不會改變 09/22 19:22
67F:→ toploader: Firefox ESR 52.3.0(32位元) 09/22 19:23
68F:推 stucode: 推一個,同主題串接的功能實際試用起來還蠻不錯的。另外 09/22 19:44
69F:→ stucode: 想請問一下是否時間或頁數差距過大的同主題就不會串接了 09/22 19:44
70F:→ stucode: ?例如#1Pkn_Wcy (Little-Games)這篇。 09/22 19:45
71F:→ stucode: (P.S 55.0.3目前沒有遇到設定上的問題。) 09/22 19:45
是的,因為 PTT 網頁版沒有提供真正的索引功能, 而讓程式真的爬幾千頁顯然不太合適, 因此目前只會抓前後 4 個列表(約 100 篇)。 ※ 編輯: danny0838 (1.164.19.182), 09/22/2017 20:49:15
72F:→ stucode: 了解,感謝。 09/22 21:18
73F:推 Kenqr: 因為Firefox 52不支援同步設定,先暫時改回使用本機設定 09/23 15:24
74F:→ Kenqr: 目前審核中,應該一會兒就審好了 09/23 15:25
75F:推 Kenqr: 忘了回2F: 自訂顏色的功能我列入清單裡了,謝謝建議 09/23 15:36
76F:推 toploader: 感謝Kenqr大大 09/23 16:51
不支援同步設定的版本執行 storage.sync 會出錯嗎? 我印象中也是能儲存,只是不能透過網路同步而已, 也就是另一個空間比較小的 storage.local。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:11:16
77F:推 Kenqr: 我有裝52ESR測試,設定值讀不到。錯誤訊息說要到 09/23 17:19
78F:→ Kenqr: about:config裡開啟才能使用storage.sync 09/23 17:19
79F:→ Kenqr: 另外storage.sync還是有東西,所以也不能直接用 09/23 17:21
80F:→ Kenqr: if(browser.storage.sync)來判斷有沒有支援 09/23 17:22
如果設定值開了,會有什麼功能上的異常嗎? 如果沒有,我個人是傾向還是用 sync,告知舊版使用者開設定值就好XD 畢竟我們還是要面向未來的。 ※ 編輯: danny0838 (36.227.221.89), 09/23/2017 17:24:54
81F:推 Kenqr: 還沒測試,不過我覺得叫使用者開設定不算是個解法 09/23 18:08
82F:→ Kenqr: 應該會有不少人不想開/不知道要開/不會開 09/23 18:08
83F:→ Kenqr: 所以比較傾向偵測有支援就用sync,沒有就用local 09/23 18:08
84F:→ Kenqr: 我只支援52起跳,已經很面向未來啦XD 09/23 18:09
85F:推 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
86F:推 Kenqr: 忘了push到GitHub XD 現在上去了 09/23 23:06
87F:→ Kenqr: WE文件是說53以上支援sync storage 09/23 23:06
88F:→ Kenqr: 跟我想的解法一樣 這個我來處理就好了 感謝 09/23 23:11
89F:→ Kenqr: 1.5.2已上架 09/24 17:30
90F:→ Kenqr: Fx52設定儲存在本機空間,53以上設定儲存在同步空間 09/24 17:30







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP