|
時(shí)代變化真快,Netscape->IE->Firefox & Opera -> Safari & Chrome,依然記得自己擁有的第一臺(tái)Toshiba筆記本電腦,從拿到電腦開始到自己背著自己的電腦遠(yuǎn)赴日不落帝國(guó)見學(xué)之間的大半年,開機(jī)無非Red alert,Starcraft,以及各種國(guó)產(chǎn)RPG。無論如何,這時(shí)的自己卻從來未考慮過是否有工具可以通過這樣的一個(gè)盒子來交流,也從來沒有考慮過用這樣的一個(gè)盒子來傳達(dá)自己的想法,亦或接受時(shí)代的潮流。直到自己來到日不落的第一天,電腦課,老師教我們打開了第一個(gè)網(wǎng)站Google,試著用拼音拼出了zhong guo,我來到了當(dāng)時(shí)自己上得最多的一個(gè)站點(diǎn)——Sina,隨著自己點(diǎn)開Sina的一刻,我明白了,自己該要啟程了。(大霧,被拖走 跑題了。先簡(jiǎn)單解釋一下什么是Userscript: 頁(yè)面執(zhí)行的一些功能,多數(shù)是通過Javascript和Flash來實(shí)現(xiàn)的。Userscript則是用戶端所執(zhí)行的功能函數(shù)。 所以最簡(jiǎn)單地說什么是Userscript: 我覺得這個(gè)網(wǎng)站設(shè)計(jì)的很不爽,我要讓其人性化一些。于是,就有了各種tweet站點(diǎn)功能的腳本。其中Userscript則是用戶腳本的一個(gè)集中托管站點(diǎn),瀏覽器插件所能實(shí)現(xiàn)的大多數(shù)功能其實(shí)多數(shù)也可以通過油猴腳本實(shí)現(xiàn)。而且通過油猴實(shí)現(xiàn)有一個(gè)很大的優(yōu)點(diǎn),就是不用過分介意瀏覽器的升級(jí),并且擁有一定的可移植的可能。當(dāng)然也有很大的局限性,其中包括但不限于Tab管理,ContextMenu Change等等。不過不管怎么說,通過Userscript,我們可以實(shí)現(xiàn)很多站點(diǎn)默認(rèn)不能實(shí)現(xiàn)或者不愿意實(shí)現(xiàn)的功能來簡(jiǎn)化我們?nèi)粘5牟僮鳌?/p> 當(dāng)然,Userscript的實(shí)現(xiàn)方式的區(qū)別也帶來了這樣的些缺點(diǎn)——不同瀏覽器之間對(duì)GM函數(shù)的支持有所不同。 于是,這里僅就最單純的東西進(jìn)行一些介紹好了。 首先 Firefox:1:GreasemonkeyFirefox應(yīng)該是最早應(yīng)用userscript的瀏覽器了(個(gè)人所知),其中Greasemonkey更是創(chuàng)造了userscript開發(fā)的奇跡,其強(qiáng)大的功能以及逐漸優(yōu)化到如今所有的沙箱化操作都稱為了如今開發(fā)userscrip支持插件的標(biāo)準(zhǔn) 2 : Scriptish這個(gè)我也沒用過,不過因?yàn)樵黾恿薝pdate和很多便于開發(fā)者利用的API,而Greasemonkey也因?yàn)橼呌诜€(wěn)定長(zhǎng)時(shí)間未更新,所以愿意嘗新的童鞋的可以用這個(gè)來代替Greasemonkey(也有點(diǎn)比較奇葩的bug)
安裝方法: 打開Firefox 工具(Tools)->插件管理(Add-ons)->獲取插件(Get-Addons)->上面搜索欄輸入Greasemonkey或Scriptish->Install 然后在這里搜索Greasemonkey或者scriptish就可以了,安裝Install后可以下載user.js用戶腳本后拖入瀏覽器則可自動(dòng)安裝。 Chrome:Chrome可以說在Userscript上確實(shí)是度過了一段比較坑爹的時(shí)期,主要原因就是Google這家“不作惡”的公司在做很多用戶產(chǎn)品的時(shí)候都做了一些很坑爹的不合理的設(shè)定,比如Userscript。 從Chrome剛出的時(shí)候就聽說Chrome原生支持Userscript,當(dāng)時(shí)聽說了這個(gè)消息還很興奮,當(dāng)用的第一天就發(fā)現(xiàn),自己著著實(shí)實(shí)被套牢了。無沙箱支持,無跨域請(qǐng)求支持,于是留下的,就是一具空殼... 后面陸續(xù)作出的插件就解決了這些問題。包括(Blank Canvas Script Handler,Tampermonkey,Ninjakit) 這里只介紹和推薦Tampermonkey(其他的我沒用過不熟)。主要原因就是Tampermonkey的現(xiàn)任維護(hù)者就是Greasemonkey的開發(fā)者,雖然在兼容性還存在一定問題(機(jī)制上的問題),不過多數(shù)情況都可以通過比較簡(jiǎn)單的Tweak來實(shí)現(xiàn)兼容的。 安裝方法: 打開Chrome->打開地址->左側(cè)地址欄輸入Tampermonkey->點(diǎn)擊Install
Opera:Opera是除了Chrome以外另外一個(gè)讓人感覺很坑爹的瀏覽器,和Chrome一樣,原生支持userscript,可惜直到現(xiàn)在,都沒有找到Opera的userscript實(shí)現(xiàn)沙箱的方法,不過卻在Opera 9升級(jí)后通過對(duì)userscript的執(zhí)行機(jī)制的修改實(shí)現(xiàn)了跨域的可能。雖然如此,Opera還是一定程度上能夠兼容多數(shù)GM腳本的,不過部分GM函數(shù)和Meta則無法支持,會(huì)帶來一定的兼容性問題。 安裝方法: 打開Opera后點(diǎn)擊設(shè)置(Preference) 然后如圖設(shè)置:
點(diǎn)擊Javascript Options(Javascript選項(xiàng))后,在Userscript Folder那里輸入你存放用戶腳本的實(shí)際目錄(比如D:\Opera\USERJS),目錄存放位置可以隨意定義。初步設(shè)置完成。 這里需要解決跨域和HTTPS下USERJS的使用問題:在地址欄輸入about:config里修改如下項(xiàng)目: 修改JS Storage的空間上限,實(shí)現(xiàn)跨域需要。 HTTPS頁(yè)面也使用UERSCRIPT 當(dāng)然實(shí)現(xiàn)GM函數(shù)和跨域需要下載一些前置腳本來實(shí)現(xiàn),這里放上自己的,如果對(duì)偶不信任的童鞋可以爬帖自炊,這里提供一份mediafire的自己用的前置腳本的分流。 a.對(duì)偶信任的可以直接下回來解壓后扔進(jìn)自己的userscript腳本目錄b.不信任的童鞋GM_emulation腳本以及跨域請(qǐng)求腳本請(qǐng)參閱: 便于尋找留一份原作者分流 下載回來之后放進(jìn)Opera的Userscript文件夾里,同時(shí)將http:///scripts/show/88932拉回來的腳本改名為aab-greasemonkey-emulation.user.js 準(zhǔn)備工作完成。
P.S.Userjs在Opera上的運(yùn)行慢的很....可能頁(yè)面出來要5-10s才能加載完成,所以調(diào)試的時(shí)候經(jīng)常是否出錯(cuò)了自己都不知道。 SafariSafari上的Userscript發(fā)展史也異常糾結(jié),在Safari支持插件之前只能通過SIMBL和GreaseKit實(shí)現(xiàn),雖然可以解決一些問題,不過跨域和沙箱的問題一直都沒有得到解決。直到Extension的出現(xiàn),Safari才出現(xiàn)了一個(gè)像樣的插件,即——Ninjakit。安轉(zhuǎn)前需開啟Extension支持。 開啟Extension 需要安裝的童鞋可以直接去作者的官方頁(yè)面下載,下載地址,不過自己卻不推薦直接用作者的這個(gè)版本,因?yàn)槔锩婵缬蛘?qǐng)求的代碼部分有一些小問題,自己做的一些小fix,已經(jīng)提交了作者但是還未回應(yīng),于是如果信任偶的童鞋可以直接用偶自己打包好的版本。 當(dāng)然,不信任的童鞋暫時(shí)偶也沒什么好辦法,只能等原作者更新了。偶修改的部分: 1:GM_xmlhttprequest的請(qǐng)求頭未裝載 2:GM_xmlhttprequest非async請(qǐng)求,無法追蹤status。 3: unsafeWindow支持 而且因?yàn)镾afari的Extension的執(zhí)行是完全沙箱化的,所以,暫時(shí)沒找到辦法訪問unsafeWindow,這個(gè)應(yīng)該會(huì)有其他的trick能夠解決,所以在兼容性上是會(huì)有一定問題的。不過多數(shù)腳本試驗(yàn)后還是可以正常運(yùn)行的。
IE等其他瀏覽器:這一點(diǎn)只能暫時(shí)說抱歉了,早期的IE5和IE6還是有GM支持的,非常局限的一些功能,如今的IE因?yàn)橐恍┍娝苤脑蛑饾u被眾開發(fā)者所拋棄,這里只能期待從IE9開始逐漸開始非主流的微軟能夠重新振奮一下開發(fā)者,為開發(fā)者提供一個(gè)相對(duì)Identical的平臺(tái)來實(shí)現(xiàn)作業(yè)了。 至于如360瀏覽器,世界窗瀏覽器之類的,我不熟悉,或許有其他達(dá)人有使用經(jīng)驗(yàn)的,歡迎提議拍磚,自己也會(huì)陸續(xù)更新。 上腳本安裝方法:支持的瀏覽器在安裝完各自的GM插件后,進(jìn)入想下載的userscript托管頁(yè)面,然后點(diǎn)擊Install即可。如ThunderAssistant |
|
|