日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

不同瀏覽器下的Userscript的安裝與使用

 gxm_lib 2013-01-23

時(shí)代變化真快,Netscape->IE->Firefox & Opera -> Safari & Chrome,依然記得自己擁有的第一臺(tái)Toshiba筆記本電腦,從拿到電腦開(kāi)始到自己背著自己的電腦遠(yuǎn)赴日不落帝國(guó)見(jiàn)學(xué)之間的大半年,開(kāi)機(jī)無(wú)非Red alert,Starcraft,以及各種國(guó)產(chǎn)RPG。無(wú)論如何,這時(shí)的自己卻從來(lái)未考慮過(guò)是否有工具可以通過(guò)這樣的一個(gè)盒子來(lái)交流,也從來(lái)沒(méi)有考慮過(guò)用這樣的一個(gè)盒子來(lái)傳達(dá)自己的想法,亦或接受時(shí)代的潮流。直到自己來(lái)到日不落的第一天,電腦課,老師教我們打開(kāi)了第一個(gè)網(wǎng)站Google,試著用拼音拼出了zhong guo,我來(lái)到了當(dāng)時(shí)自己上得最多的一個(gè)站點(diǎn)——Sina,隨著自己點(diǎn)開(kāi)Sina的一刻,我明白了,自己該要啟程了。(大霧,被拖走

跑題了。先簡(jiǎn)單解釋一下什么是Userscript:

頁(yè)面執(zhí)行的一些功能,多數(shù)是通過(guò)Javascript和Flash來(lái)實(shí)現(xiàn)的。Userscript則是用戶端所執(zhí)行的功能函數(shù)。

所以最簡(jiǎn)單地說(shuō)什么是Userscript:

我覺(jué)得這個(gè)網(wǎng)站設(shè)計(jì)的很不爽,我要讓其人性化一些。

于是,就有了各種tweet站點(diǎn)功能的腳本。其中Userscript則是用戶腳本的一個(gè)集中托管站點(diǎn),瀏覽器插件所能實(shí)現(xiàn)的大多數(shù)功能其實(shí)多數(shù)也可以通過(guò)油猴腳本實(shí)現(xiàn)。而且通過(guò)油猴實(shí)現(xiàn)有一個(gè)很大的優(yōu)點(diǎn),就是不用過(guò)分介意瀏覽器的升級(jí),并且擁有一定的可移植的可能。當(dāng)然也有很大的局限性,其中包括但不限于Tab管理,ContextMenu Change等等。不過(guò)不管怎么說(shuō),通過(guò)Userscript,我們可以實(shí)現(xiàn)很多站點(diǎn)默認(rèn)不能實(shí)現(xiàn)或者不愿意實(shí)現(xiàn)的功能來(lái)簡(jiǎn)化我們?nèi)粘5牟僮鳌?/p>

當(dāng)然,Userscript的實(shí)現(xiàn)方式的區(qū)別也帶來(lái)了這樣的些缺點(diǎn)——不同瀏覽器之間對(duì)GM函數(shù)的支持有所不同。

于是,這里僅就最單純的東西進(jìn)行一些介紹好了。

首先

Firefox:

1:Greasemonkey

Firefox應(yīng)該是最早應(yīng)用userscript的瀏覽器了(個(gè)人所知),其中Greasemonkey更是創(chuàng)造了userscript開(kāi)發(fā)的奇跡,其強(qiáng)大的功能以及逐漸優(yōu)化到如今所有的沙箱化操作都稱為了如今開(kāi)發(fā)userscrip支持插件的標(biāo)準(zhǔn)

2 : Scriptish

這個(gè)我也沒(méi)用過(guò),不過(guò)因?yàn)樵黾恿薝pdate和很多便于開(kāi)發(fā)者利用的API,而Greasemonkey也因?yàn)橼呌诜€(wěn)定長(zhǎng)時(shí)間未更新,所以愿意嘗新的童鞋的可以用這個(gè)來(lái)代替Greasemonkey(也有點(diǎn)比較奇葩的bug)

 

安裝方法:

打開(kāi)Firefox

工具(Tools)->插件管理(Add-ons)->獲取插件(Get-Addons)->上面搜索欄輸入Greasemonkey或Scriptish->Install

然后在這里搜索Greasemonkey或者scriptish就可以了,安裝Install后可以下載user.js用戶腳本后拖入瀏覽器則可自動(dòng)安裝。

Chrome:

Chrome可以說(shuō)在Userscript上確實(shí)是度過(guò)了一段比較坑爹的時(shí)期,主要原因就是Google這家“不作惡”的公司在做很多用戶產(chǎn)品的時(shí)候都做了一些很坑爹的不合理的設(shè)定,比如Userscript。

從Chrome剛出的時(shí)候就聽(tīng)說(shuō)Chrome原生支持Userscript,當(dāng)時(shí)聽(tīng)說(shuō)了這個(gè)消息還很興奮,當(dāng)用的第一天就發(fā)現(xiàn),自己著著實(shí)實(shí)被套牢了。無(wú)沙箱支持,無(wú)跨域請(qǐng)求支持,于是留下的,就是一具空殼...

后面陸續(xù)作出的插件就解決了這些問(wèn)題。包括(Blank Canvas Script Handler,Tampermonkey,Ninjakit)

這里只介紹和推薦Tampermonkey(其他的我沒(méi)用過(guò)不熟)。

主要原因就是Tampermonkey的現(xiàn)任維護(hù)者就是Greasemonkey的開(kāi)發(fā)者,雖然在兼容性還存在一定問(wèn)題(機(jī)制上的問(wèn)題),不過(guò)多數(shù)情況都可以通過(guò)比較簡(jiǎn)單的Tweak來(lái)實(shí)現(xiàn)兼容的。

安裝方法:

打開(kāi)Chrome->打開(kāi)地址->左側(cè)地址欄輸入Tampermonkey->點(diǎn)擊Install

 

Opera:

Opera是除了Chrome以外另外一個(gè)讓人感覺(jué)很坑爹的瀏覽器,和Chrome一樣,原生支持userscript,可惜直到現(xiàn)在,都沒(méi)有找到Opera的userscript實(shí)現(xiàn)沙箱的方法,不過(guò)卻在Opera 9升級(jí)后通過(guò)對(duì)userscript的執(zhí)行機(jī)制的修改實(shí)現(xiàn)了跨域的可能。雖然如此,Opera還是一定程度上能夠兼容多數(shù)GM腳本的,不過(guò)部分GM函數(shù)和Meta則無(wú)法支持,會(huì)帶來(lái)一定的兼容性問(wèn)題。

安裝方法:

打開(kāi)Opera后點(diǎn)擊設(shè)置(Preference)

然后如圖設(shè)置:

 

點(diǎn)擊Javascript Options(Javascript選項(xiàng))后,在Userscript Folder那里輸入你存放用戶腳本的實(shí)際目錄(比如D:\Opera\USERJS),目錄存放位置可以隨意定義。初步設(shè)置完成。

這里需要解決跨域和HTTPS下USERJS的使用問(wèn)題:

在地址欄輸入about:config里修改如下項(xiàng)目:

修改JS Storage的空間上限,實(shí)現(xiàn)跨域需要。

HTTPS頁(yè)面也使用UERSCRIPT

當(dāng)然實(shí)現(xiàn)GM函數(shù)和跨域需要下載一些前置腳本來(lái)實(shí)現(xiàn),這里放上自己的,如果對(duì)偶不信任的童鞋可以爬帖自炊,這里提供一份mediafire的自己用的前置腳本的分流。

a.對(duì)偶信任的可以直接下回來(lái)解壓后扔進(jìn)自己的userscript腳本目錄

GM函數(shù)以及跨域?qū)崿F(xiàn)

b.不信任的童鞋

GM_emulation腳本以及跨域請(qǐng)求腳本請(qǐng)參閱:

http:///scripts/show/88932

便于尋找留一份原作者分流

下載回來(lái)之后放進(jìn)Opera的Userscript文件夾里,同時(shí)將http:///scripts/show/88932拉回來(lái)的腳本改名為aab-greasemonkey-emulation.user.js
初始工作完成
之后下載http:///scripts/review/109306

準(zhǔn)備工作完成。

 

P.S.Userjs在Opera上的運(yùn)行慢的很....可能頁(yè)面出來(lái)要5-10s才能加載完成,所以調(diào)試的時(shí)候經(jīng)常是否出錯(cuò)了自己都不知道。


Safari

Safari上的Userscript發(fā)展史也異常糾結(jié),在Safari支持插件之前只能通過(guò)SIMBL和GreaseKit實(shí)現(xiàn),雖然可以解決一些問(wèn)題,不過(guò)跨域和沙箱的問(wèn)題一直都沒(méi)有得到解決。直到Extension的出現(xiàn),Safari才出現(xiàn)了一個(gè)像樣的插件,即——Ninjakit。安轉(zhuǎn)前需開(kāi)啟Extension支持。

開(kāi)啟Extension

需要安裝的童鞋可以直接去作者的官方頁(yè)面下載,下載地址,不過(guò)自己卻不推薦直接用作者的這個(gè)版本,因?yàn)槔锩婵缬蛘?qǐng)求的代碼部分有一些小問(wèn)題,自己做的一些小fix,已經(jīng)提交了作者但是還未回應(yīng),于是如果信任偶的童鞋可以直接用偶自己打包好的版本。

JS分流

當(dāng)然,不信任的童鞋暫時(shí)偶也沒(méi)什么好辦法,只能等原作者更新了。偶修改的部分:

1:GM_xmlhttprequest的請(qǐng)求頭未裝載

2:GM_xmlhttprequest非async請(qǐng)求,無(wú)法追蹤status。

3: unsafeWindow支持

而且因?yàn)镾afari的Extension的執(zhí)行是完全沙箱化的,所以,暫時(shí)沒(méi)找到辦法訪問(wèn)unsafeWindow,這個(gè)應(yīng)該會(huì)有其他的trick能夠解決,所以在兼容性上是會(huì)有一定問(wèn)題的。不過(guò)多數(shù)腳本試驗(yàn)后還是可以正常運(yùn)行的。

 

IE等其他瀏覽器:

這一點(diǎn)只能暫時(shí)說(shuō)抱歉了,早期的IE5和IE6還是有GM支持的,非常局限的一些功能,如今的IE因?yàn)橐恍┍娝苤脑蛑饾u被眾開(kāi)發(fā)者所拋棄,這里只能期待從IE9開(kāi)始逐漸開(kāi)始非主流的微軟能夠重新振奮一下開(kāi)發(fā)者,為開(kāi)發(fā)者提供一個(gè)相對(duì)Identical的平臺(tái)來(lái)實(shí)現(xiàn)作業(yè)了。

至于如360瀏覽器,世界窗瀏覽器之類的,我不熟悉,或許有其他達(dá)人有使用經(jīng)驗(yàn)的,歡迎提議拍磚,自己也會(huì)陸續(xù)更新。

上腳本安裝方法:

支持的瀏覽器在安裝完各自的GM插件后,進(jìn)入想下載的userscript托管頁(yè)面,然后點(diǎn)擊Install即可。如ThunderAssistant

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多