[問題] 油猴腳本越來越肥了,求優化方案

看板Ajax作者 (信圓香,得永萌。)時間14年前 (2012/07/02 21:36), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/4 (看更多)
我正在寫一個將某網頁遊戲許多圖片都替換掉的script 裡面有很多像是這種的內容 //-------------------------------------------------------------------- //www.erepublik.com/en/economy/advanced-buildings //-------------------------------------------------------------------- if (document.location.toString().indexOf("/economy/advanced-buildings")!==-1) { $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_100.png']").attr('src','http://i.imgur.com/qVEfJ.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_200.png']").attr('src','http://i.imgur.com/RLJEh.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_300.png']").attr('src','http://i.imgur.com/TeWP9.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_400.png']").attr('src','http://i.imgur.com/I3rRj.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_500.png']").attr('src','http://i.imgur.com/pAbTR.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /health_600.png']").attr('src','http://i.imgur.com/RGeQb.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /special_50.png']").attr('src','http://i.imgur.com/W34wz.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /special_100.png']").attr('src','http://i.imgur.com/DW37w.png'); $(".listing_holder > .list_group > .listing > .area_pic > img[src= 'http://www.erepublik.com/images/modules/myland/buildings /special_200.png']").attr('src','http://i.imgur.com/V458I.png'); }; 但在不知不覺間隨著要替換的圖片越來越多,script也越來越肥 現在已經超過100kb了,而且在執行上也能感覺到有遲鈍的情形發生... 請問有優化方案嗎? 感謝 <(_ _)> 附上原script 雖然以上的最新一段還沒上傳到網上,但原理都是一樣的 http://synex520free.kilu.de/0_plugin/Touhou.user.js -- 無論在什麼遊戲中,只有勇於面對的人才會獲得報酬。 遊戲雖然不是人生,但人生卻是遊戲。 最糟糕的遊戲平衡度,不親切的NPC,前後矛盾的劇本。 但是,能不能享受這個遊戲則在於個人。 即使是垃圾遊戲,真正投入的話或許能感受到意外的樂趣,結束時反而會認為這是個名作 也說不定。 岡本 タクヤ《千の剣の舞う空に》 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.183.232 ※ 編輯: ff760725 來自: 122.117.183.232 (07/02 21:42)

07/02 22:11, , 1F
改用純JavaScript
07/02 22:11, 1F

07/02 22:45, , 2F
怎麼不把listing_holder .area_pic > img下面的img一次
07/02 22:45, 2F

07/02 22:45, , 3F
抓出來迴圈跑一次,圖片url可以用json直接key-value換
07/02 22:45, 3F

07/02 22:46, , 4F
還有,前面selector的階層不要太多..可以減少就少些吧.
07/02 22:46, 4F

07/02 22:48, , 5F
如果可以的話,不要用src,用CSS Sprite感覺比較好..
07/02 22:48, 5F

07/02 22:48, , 6F
原本的src直接換成blank.gif就好了..
07/02 22:48, 6F

07/02 23:12, , 7F
我有調好得Code,不過沒啥時間測試,私信來吧XD
07/02 23:12, 7F

07/02 23:12, , 8F
不過我不確定效能會不會比較好啦...應該會(被打)
07/02 23:12, 8F

07/04 14:47, , 9F
似乎是遊戲的佈景阿....如果可以改 css 直接套 css 3 比較快
07/04 14:47, 9F
文章代碼(AID): #1FyQFvjc (Ajax)
文章代碼(AID): #1FyQFvjc (Ajax)