2011年3月26日 星期六

Scriptish 性能快、功能多的Firefox 4專用增強版Greasemonkey

scriptish-01

如果你不知道什麼是Greasemonkey的話,歡迎參考我之前的「GreaseMonkey 10+1個私房推薦腳本:讓網頁變好用的 Firefox 套件」一文。而如果你已經是Firefox上Greasemonkey忠實用戶的話,那麼或許你會有興趣看看今天要介紹的這款針對Firefox 4設計的Greasemonkey替代者:Scriptish」,因為它重寫程式碼,可以支援更多新的腳本技術,並且號稱擁有更快的效能,以及更多的功能。

對於Scriptish的技術性說明,可以參考設計者的部落格專文:「Scriptish Beta! A New Greasemonkey」,我這邊簡單的理解,就是Scriptish認為Greasemonkey包袱太重,與其依著舊有架構更新,不如針對Firefox 4來進行一番全新的設計,讓執行Scripts(腳本)時性能與功能表現更好。

在這般緣由下誕生的「Scriptish」,同樣可以使用「userscripts.org」上面的腳本,而對於Firefox 4的用戶來說,則是可以考慮看看:如果自己愛用的腳本都能在Scriptish下執行的話,或許換到Scriptish後的整個體驗會更優異?

 

01.

基本上Scriptish用起來和Greasemonkey沒有兩樣,但一些細部功能設定的地方更多,根據套件網頁的說明,Scriptish具有以下的優點:

  • 具備Greasemonkey所有的功能
  • 具備可升級腳本的功能(我確實有看到更新功能,但因為使用時間不夠長,所以尚未遇到需要更新時,也不確定是否能順利更新)。
  • 更輕快的效能(和Greasemonkey相比,根據「你的Firefox中安裝著體積肥大且可能拖慢速度的怪獸套件嗎?」一文的檢測方法,確實Scriptish輕巧非常多)。
  • 更多新腳本技術的支援。
  • 更好的安全性。

但是Scriptish也有缺點,那就是極少數的userscripts腳本無法使用在Scriptish上,依據我自己的測試,例如一些「Gmail改造類」的腳本在Greasemonkey上可以執行,但換到Scriptish則會失效(像是我之前推薦的SocialGmail)。

不過也確實「絕大多數」的腳本都能在Scriptish上順利執行,所以回到我前言所說的,其實用戶的選擇就在於:如果我的腳本都能在Scriptish上執行,那麼或許值得改用Scriptish來獲得更好的效能、功能?

scriptish-02

 

02.

如果你是要從Greasemonkey改換到Scriptish,那麼所有的腳本都要重新安裝,目前沒有自動轉移的機制。

而安裝Scriptish後,同樣的在狀態列(附加元件列)會看到Scriptish按鈕,點開選單則會看到哪些腳本正在對目前的網站產生作用,而點擊【Manage User Scripts】可以進入腳本管理畫面,點擊【Options】則會彈出Scriptish本身的功能設定視窗。

scriptish-03

 

03.

先進入Scriptish本身的功能設定視窗,在「Global Excludes(全域排除)」中,我們可以一行一行的輸入網頁網址,指定哪些網址下「不要執行」任何腳本功能。

預設勾選「When uninstalling a script, also remove its preferences」,這樣會在你選擇移除某個腳本時,也完整移除它的設定資料。

而我們還可以手動勾選「Use download URL for updates if there is no update URL」,這個功能很有趣,如果一個Script腳本沒有內建自動更新功能,那麼Scriptish就會以該腳本的「下載網址」來當做檢查更新時的依據,幫用戶下載最新腳本來更新。

最後的「Enable copying of download URL」,則讓我們可以在Scriptish管理介面中快速複製每個腳本的下載網址,這樣的好處是可以很快的把自己使用的腳本清單備份下來,方便以後的重新安裝或轉移。

scriptish-04

 

04.

在Scriptish的腳本管理介面中,除了可以看到所有安裝的Scripts清單外,點擊某個腳本的〔選項〕,就會彈出一個「添加/排除」視窗,例如我們可以把網址加入「User Excludes(排除)」中,這樣在這個網址下就不會啟動這個腳本。

這就是新版Greasemonkey中取消的方便設定,現在可以從Scriptish中找回來了。

另外我們還可以點擊腳本的「更多資訊」,就能看到該腳本更多詳細的資料。在整個管理介面上,Scriptish確實比Greasemonkey要人性化一點。

scriptish-05

 

05.

如果你前面有啟動「Use download URL for updates if there is no update URL」功能,那麼本身不含自動更新的腳本,就會在專屬頁面裡出現一條「自動更新」的功能選項。

因為我自己還沒有實際遇到需要更新的時刻,所以我無法確定這裡是不是可以跟著整個Firefox 4套件的檢查更新功能一起更新腳本?歡迎有更深入使用經驗的朋友,可以回饋你們的意見與心得。

scriptish-06

 

  • 小結:我在Scriptish中目前所安裝的Scripts腳本

從上面簡單的介紹與試用看起來,Scriptish確實具有能夠在某些條件下取代Greasemonkey的優點,例如它的程式碼更新、更精省,效能更好,且管理設定功能更豐富,但是Greasemonkey也還是有支援的腳本最廣泛的優點,用戶可以依據自己的需求來選擇要不要替換。

我自己目前是先換到了Scriptish,給它一個機會來試試看用起來順不順,而我目前有安裝的腳本,在本文最後也一起列舉給大家參考:

37 則留言 :

  1. 蠻多套件我都認為都越寫越肥大,感覺軟體整個都需要重構了,不過畢竟都是免費取得的,也很難要求太多(茶

    當狐狸背負太多冗餘程式碼的套件就會非常卡了

    回覆刪除
  2. 啊,看到這篇有設定檔潔癖的我又打算砍掉重練了

    回覆刪除
  3. 確實由猴子新版實在蠻討厭的= =
    期待這套件的未來發展!!

    不過其實我比較希望他能支援備份"腳本+腳本設定"的功能...
    不然每重裝一次腳本都要再設定一次也頗麻煩...

    回覆刪除
  4. 比較好奇的是,如果原來的scripts程式碼沒有跟著『進化』的話,Scriptish除了管理外的優勢就比較不明顯了,不過還是有嘗試的衝動 XD

    回覆刪除
  5. 感覺異塵大在改找輕量化套件來幫火狐加速了

    不時看到"你的Firefox中安裝著體積肥大且可能拖慢速度的怪獸套件嗎?"文章(笑

    回覆刪除
  6. 他的腳本更新是和fx4套件管理員一起的,這點很棒!不用再裝更新腳本了!(我好像也沒用更新腳本更新過)

    回覆刪除
  7. @水無月羽空:
    其實我真的在比較看看同類套件中有沒有什麼更好的選擇^^
    畢竟要發揮多一點fx4優勢阿

    回覆刪除
  8. 不錯吶,考慮列入安裝清單中,不過它的圖示沒有油猴

    子好看。

    回覆刪除
  9. 22日发布的0.1版本(https://addons.mozilla.org/zh-tw/firefox/addon/scriptish/versions/)好像可以使用自定义gmail的脚本了,本来gmail muzzle脚本在scriptish下是无法起作用的,现在正常了。

    回覆刪除
  10. 感謝你的回饋,這樣看起來這款套件確實愈來愈好了~

    回覆刪除
  11. 剛剛嘗試了一下,最新的0.1版本,確實可以使用gmail腳本了!!

    回覆刪除
  12. 感覺上跟猴子的效能差不多? 異塵大大有感覺出不同嗎 ?
    且感覺上圖示確實沒猴子好看 XD ...

    回覆刪除
  13. 呵呵,實際感覺上確實沒有什麼不同
    因為greasemonkey本身也不是太肥大的套件


    不過從Scriptish的設計概念上來看,
    他的程式碼確實更精簡,
    另外他有提到新的架構讓scripts只有在需要時才會載入記憶體,
    所以從更精簡、對資源佔用更好這兩點來看,它才說自己有更好的效能

    這個可能要更長期去比較記憶體、cpu佔用等等才會知道,不過這就不是我能做的測試了^^

    回覆刪除
  14. 有没有人比较Stylish和Greasemonkey这两个插件呢?

    回覆刪除
  15. stylish和greasemonkey是分工比较明确的两个扩展,stylish管理css文件,gm负责gm脚本,不是功能相同的一类扩展;


    新版gm取消添加/排除功能不知道怎么想的。

    回覆刪除
  16. facebook switch accounts在Scriptish上無法正式運作。

    回覆刪除
  17. 这个好像和userChromeJS(http://userchromejs.mozdev.org/)
    安装这个之后userChromeJS下管理的脚本就失效了,是什么原因?

    回覆刪除
  18. 沒有自動轉移機制,也不代表一定要重新安裝scripts的,因為... 可以手動轉移的:
    Manually transfer user scripts from Greasemonkey to Scriptish
    https://github.com/erikvold/scriptish/wiki/How-To%3A--Manually-transfer-user-scripts-from-Greasemonkey-to-Scriptish

    回覆刪除
  19. 原来新版greasemonkey取消方便添加排除网址的功能,真是不方便,试试这个

    回覆刪除
  20. 離題一下,4.2a1nightly版在處理javascript上已有改進,大概是增加TM的緣故

    sunspider5次平均:
    firefox 4 release : 202ms
    IE9 : 190ms
    minefiled 4.2a1 : 180ms
    當然還是不建議一般人踩地雷

    回覆刪除
  21. 更正一下,是type inference

    回覆刪除
  22. @匿名20:

    意思就是fx將會愈來愈快就是了,讚~~^^

    回覆刪除
  23. GM有搭配的元件是greasefire,scripts有嗎?

    回覆刪除
  24. 看到這個我也很好奇
    因為我覺得兩個套件真的程度上差不多
    而且雖然說號稱比原來的油猴子要優化
    但是好像也沒有人實際做過任何測試

    當然,一堆高手都沒有法子測試了我當然也沒辦法
    所以就採取最直覺的方式,也就是兩套都裝來試試看
    我在兩台不同的電腦上使用不同的套件來試試看
    使用上已經過了一個月了吧,還是感覺不出誰優誰劣
    我想這只能代表這兩個套件確實都很強吧...

    回覆刪除
  25. 剛剛回的回應好像不見了?

    我在兩台電腦上兩個套件都有裝
    用了一個月在感覺上來說速度都差不多...

    不過好像大多數人都比較推這套Scriptish的樣子@@
    反正用起來也差不多,乾脆就把猴子停用改替換成這套Scriptish好了...

    回覆刪除
  26. 在我这有个脚本不支持,还是继续greasemonkey

    回覆刪除
  27. @匿名:
    有沒有 Greasefire 等問題,作者有解答的.請多看 Addons Page: https://addons.mozilla.org/zh-tw/firefox/addon/scriptish/

    There is no Greasefire part
    由 Erik Vold (開發者) 發表於 March 19, 2011 #

    Greasefire is a separate extension, I can't support it without conflicting with Greasemonkey, so Greasefire will need to be modified, not Scriptish.

    回覆刪除
  28. 請問異塵大大
    油猴的好朋友GreaseFire
    有替代的套件嗎

    回覆刪除
  29. 其實根據我trace greasefire 的心得,
    應該不難port才對,找時間研究看看。

    回覆刪除
  30. TO 匿名

    我是 facebook switch accounts 作者,剛剛裝上 Scriptish 很正常再跑,請問是哪裡有問題呢?

    回覆刪除
  31. http://code.google.com/p/greasefire/issues/detail?id=21

    我分支的 Greasefire ,
    目前最新版本可以支援scriptfish,歡迎試試看。XD

    可以先看看demo :)
    http://www.youtube.com/watch?v=F84TrWadGlk

    回覆刪除
  32. Scriptish很容昜在托曳出的新分頁失效,需要在新分頁上再重載入分頁script才會啟動。

    回覆刪除
  33. 对性能已经没有什么要求,兼容稳定就行了

    回覆刪除
  34. 從火狐四到現在已經14了

    我剛好又重灌電腦火狐清空

    現在的scriptish跟Greasemonkey
    還是跟這篇的關係一樣嗎?

    不知道有沒有值得一提的更新
    又要二選一了0.0

    回覆刪除

相關文章: