MozTW 討論區 https://forum.moztw.org/ |
|
[userscript] image mikirenaizer 漫改版(漫畫魔改版) https://forum.moztw.org/viewtopic.php?f=11&t=29505 |
第 1 頁 (共 1 頁) |
發表人: | larz93 [ 2010-02-13, 09:18 ] | ||
文章主題 : | [userscript] image mikirenaizer 漫改版(漫畫魔改版) | ||
[動機] 我是漫畫瀏覽器 MangaMeeya 的重度使用者;事實上,MM不只可以用來看漫畫,其種種強大的特色已取代了我對ACDSEE等其他看圖軟體的需求,成為我系統裡預設的看圖選擇 @優點 .速度:啟動快,載入圖片也快 .便利性:一鍵就可以完成平滑捲動圖片、至圖片底部自動換頁 .多種瀏覽模式:單頁、雙頁、左開、右開 .多種縮放模式 .常用濾鏡:明度、銳利度 等等 @缺點 .作者已停止開發 .雖然可以輸入URL,分析網頁後直接瀏覽頁面上的圖片,但要重複下載圖片(無法利用瀏覽器的快取),操作起來感覺沒有瀏覽本機檔案時靈敏 OK,到這裡打住,我今天不是來推廣MM...囧rz,只是想說明我對看圖軟體功能的需求。 對於網頁內瀏覽圖片(在論壇看圖、開網路相簿、在漫畫網瀏覽),我已被MM養壞胃口,因此一直很不滿意,尋求方法能重現使用MM的體驗 偶然間發現了 image mikirenaizer 這支 userscript,其功能相當簡單,若視窗內有圖片只顯示了上半部,則下捲一頁時讓視窗上緣與圖片貼齊。單看功能說明可能無法讓人體會有什麼便利之處,事實上你可以回憶一下,看圖時是不是經常在"下捲一頁"後又按幾次"上",以將整張圖片呈現在視窗內 因為這支 userscript 只能滿足部分的需求,我決定對其進行改造,新增功能如下 .平滑捲動: 由於script內直接使用scrollTo()捲頁,即使FX啟用了平滑捲動也無效,還好我在jQuery找到了解決方法。而且平滑捲動相當吃CPU,我只打算在看圖時啟用 .捲動視窗貼齊圖片下緣: 原本的script只做了"捲動視窗貼齊圖片上緣",若圖片高於視窗,則下捲一頁後讓人有截斷圖片之感,而"捲動視窗貼齊圖片下緣"可以改善這點 .自動跳過高度小於200px的小圖 .使用jQuery重新改寫 呃...這不該算新功能,只是讓代碼變的更簡潔、更易於維護 [安裝與使用] 呃...這麼簡單的東西沒必要說明吧 個人心得貼心建議,逛對岸的漫畫網時,請搭配 autopager 這支擴展,保證所向無敵。一次下載所有圖片,不再為某些龜速網站所苦 [未來目標] To do list .便利性:一鍵就可以完成平滑捲動圖片、至圖片底部自動換頁 .多種瀏覽模式:單頁、雙頁、左開、右開 .多種縮放模式 這些需求不是 image mikirenaizer 這支小程式能承擔(要用到XUL),我找到了 Web Slide Show這個擴展為目標動刀,目前火熱開發中 [Reference] .image mikirenaizer http://www.geocities.jp/r9a2/soft/gmscr ... irenaizer1 .autopager https://addons.mozilla.org/zh-TW/firefox/addon/4925 https://addons.mozilla.org/zh-TW/firefox/addon/14838 .Web Slide Show https://addons.mozilla.org/zh-TW/firefox/addon/9124 [求救時間] 麻煩熟悉 dom、xpath 的達人解救一下,這支腳本使用下列代碼選取文件內的圖片 document.evaluate( '//img[not(@height) or @height>100]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); 這段 xpath 表達式讓我非常疑惑,有的頁面可以完全過濾小圖,有的頁面不行,似乎 img 這個 element 要有設定 height 這個 attribute 才能過濾,但很多圖片基本上只有src這個屬性 所以我不得不額外在捲頁前加個判斷 if(targetNode.height < 200) continue; 請問 xpath 不是在 dom tree 裡面做搜尋嗎? 為什麼明明存在的 height 屬性會找不到,非要網頁內有指定 height 這個 attribute 才能過濾 查了一下MDC的dom reference,對一個物件來說,請問attribute和property有什麼不同?
|
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |