Greasemonkey - Wikipedia

文章推薦指數: 80 %
投票人數:10人

Greasemonkey is a userscript manager made available as a Mozilla Firefox extension. It enables users to install scripts that make on-the-fly changes to web ... Greasemonkey FromWikipedia,thefreeencyclopedia Jumptonavigation Jumptosearch UserscriptmanagerextensionforFirefox Thisarticleisaboutthesoftware.Forthecomic,seeGreaseMonkey.Forotheruses,seeGreasemonkey(disambiguation). GreasemonkeyOriginalauthor(s)AaronBoodmanDeveloper(s)AnthonyLieuallen,JohanSundström,[1]13more[2]Initialrelease28 March2005;16yearsago (2005-03-28)[3]Stablerelease4.11 /27 January2021;12monthsago (2021-01-27) Repositorygithub.com/greasemonkey/greasemonkey WritteninJavaScript,XUL,CSSOperatingsystemCross-platformAvailableinEnglishTypeMozillaextensionLicenseMITLicenseWebsitewww.greasespot.net Relatedarticles Firefoxversionhistory v1 •v1.5 v2 v3 •v3.5 •v3.6 v4 v5andlater FeaturesofFirefox Gecko Add-ons Extensions Firefoxmarketadoption Originsandlineage NetscapeNavigator MozillaFoundation MozillaSuite Categoryvte GreasemonkeyisauserscriptmanagermadeavailableasaMozillaFirefoxextension.Itenablesuserstoinstallscriptsthatmakeon-the-flychangestowebpagecontentafterorbeforethepageisloadedinthebrowser(alsoknownasaugmentedbrowsing). Thechangesmadetothewebpagesareexecutedeverytimethepageisviewed,makingthemeffectivelypermanentfortheuserrunningthescript. Greasemonkeycanbeusedforcustomizingpageappearance,addingnewfunctionstowebpages(forexample,embeddingpricecomparisonswithinshoppingsites),fixingrenderingbugs,combiningdatafrommultiplewebpages,andnumerousotherpurposes. Contents 1History 1.1Userscripts.org 2Technicaldetails 2.1Userscripts 3Compatibility 4Seealso 5References 6Externallinks History[edit] TheGreasemonkeyprojectbegan28November2004,writtenbyAaronBoodman.[4][5][6]BoodmanwasinspiredtowriteGreasemonkeyafterlookingataFirefoxextensiondesignedtocleanuptheinterfaceofAllMusic,[7]writtenbyAdrianHolovaty,wholaterbecameauserscriptdeveloper.ByMay2005,therewereapproximately60generaland115site-specificuserscriptsdistributedforGreasemonkey.[7]InJuly2005,seriousvulnerabilitieswerefoundinGreasemonkeybyMarkPilgrim,[8][9]andfixedinthe3.5versionofGreasemonkey.[10]Duringthistime,aGreasemonkeycompilerwasalsodevelopedforconvertingauserscriptintoastandaloneFirefoxextension.[11]Greasemonkeywasinitiallymetwithcomplaintsbypublishersforitsabilitytoblockads.[12]However,thiscriticismshifteditsfocustootheraddonsstartingwiththe2006releaseofAdblockPlus. Userscripts.org[edit] Toaccommodatethegrowingnumberofscripts,userscripts.orgwasfoundedbyBrittSelvitelleandothermembersoftheGreasemonkeycommunityinlate2005.Userscripts.orgwasopensourcedin2007butthesitelatermovedawayfromthiscodebase.[13]AsthemainscriptrepositorylistedonGreasemonkey'sofficialsite,userscripts.orgaccumulatedthousandsofscriptsperyear. In2010,thelastknownadminJesseAndrewspostedthatthesitewasinmaintenancemodeduetolackoftimeandaskedforanewmaintainertovolunteer.[14]Nevertheless,heremainedthesoleadminofthesiteuntiladiscussionaboutinstallcountsbeganon1April2013.[15]Priortothis,manyofthe"mostpopularscripts"aslistedbythesitehadnominalinstallcountsofzero.Overthefollowingyearspamscriptsbecamemorecommon,serverdowntimeincreasedandtheinstallcountbugremained.[16]WithnofurthercommunicationbyAndrews,userscriptwritersdescribedthesiteasneglectedandtheofficialGreasemonkeysiteremoveditsfrontpagelink.[17][18]Inresponse,scriptwritersandotherdevelopersbeganworkingonthefork"openuserjs.org",[19][20]andlatergreasyfork.org,[21]asanimmediatereplacement.[22] InMay2014,userscripts.orgbecameinaccessibleonport80,promptinguserstoaccessitonport8080instead.[16]InAugust2014,thesitewasshutdowncompletely.Mostofitsscriptswerebackeduptothestaticmirroruserscripts-mirror.orgwheretheycannowbefound.[16] Technicaldetails[edit] GreasemonkeyuserscriptsarewritteninJavaScriptandmanipulatethecontentsofawebpageusingtheDocumentObjectModelinterface.Scriptsaregenerallywrittentobeeitherpage-specificordomain-specific(applyingtoallpageswithinadomain)butmayalsobetaggedtoapplytoalldomainsforglobalbrowserenhancements.UsersofGreasemonkeycanwriteordownloadscriptsandsavethemtotheirownpersonallibrary.Whenusersvisitawebsitematchingascriptintheirpersonalscriptlibrary,Greasemonkeyinvokestherelevantscripts. GreasemonkeyscriptscanmodifyawebpageinanywaythatJavaScriptallows,withcertainGreasemonkeysecurityrestrictions.Scriptscanalsoaccessotherwebpagesandwebservicesviaanon-domain-restrictedXMLHTTPrequest,allowingexternalcontenttobemergedwiththeoriginalpagecontent. Scriptsarenamedsomename.user.js,andGreasemonkeyofferstoinstallanysuchscriptwhenaURLendinginthatsuffixisrequested.Greasemonkeyscriptscontainmetadatawhichspecifiesthenameofthescript,adescription,resourcesrequiredbythescript,anamespaceURLusedtodifferentiateidenticallynamedscripts,andURLpatternsforwhichthescriptisintendedtobeinvokedornot. WritingaGreasemonkeyscriptissimilartowritingJavaScriptforawebpage,withsomeadditionalallowancessuchascross-siteXMLHttpRequests.Comparedtowritingafull-fledgedFirefoxextension,userscriptingisaverymodeststepupincomplexityfrombasicwebprogramming.However,GreasemonkeyscriptsarelimitedduetosecurityrestrictionsimposedbyMozilla'sXPCNativeWrappers[23]Forexample,GreasemonkeyscriptsdonothaveaccesstomanyofFirefox'scomponents,suchasthedownloadmanager,I/Oprocessesoritsmaintoolbars.Additionally,Greasemonkeyscriptsrunperinstanceofamatchingwebpage.Becauseofthis,managinglistsofitemsgloballyisdifficult.However,scriptwritershavebeenusingcookiesandGreasemonkeyevenoffersAPIssuchasGM_getValueandGM_setValuetoovercomethis. Userscripts[edit] FilehostingserversforGreasemonkeyrequirethattheURLsforthescriptsendwith.user.jsandnotwithaMIMEtypeliketext/html.SupportforHTTPSwillmeetwith[clarificationneeded]Greasemonkey'sbuiltinupdatechecker.AsofJuly2019,theGreasemonkeyprojectliststhreerecommendeduserscripthostings:[24] Gist,apastebinserviceoperatedbyGitHubwheresimplefilesarehosted.Filescanbepastedintoawebformandsaved.HTTPSisusedbydefault.Filesmayfollowthenamingschemewiththe".user.js"suffixfortheURLservingasaninstalllink. GreasyFork,asitecreatedbythemaintainerofuserstyles.org.[21] OpenUserJS.org,asitethatstartedasaforkforthedeprecatedscriptrepositoryuserscripts.org.[19][20] Compatibility[edit] GreasemonkeyisavailableforFirefox,FlockandGNOMEWeb(formerlycalledEpiphany).TheGreasemonkeyextensionforWebispartoftheWebextensionspackage.However,thisextensionisnotfullycompatibleasofrelease2.15.1,sincesomeGreasemonkeyAPIfunctions(e.g.GM_getValue)areunsupported.TherearealsocustomversionsforSeaMonkey,[25][26]Songbird,[27]PaleMoon,[28]qutebrowser[29]andFalkonbrowser. Seealso[edit] Listofaugmentedbrowsingsoftware ListofFirefoxextensions Stylish Tampermonkey References[edit] ^"TheweblogaboutGreasemonkey". ^"Thegreasemonkeynetworkgraph".GitHub. ^"InitialGreasemonkeyRelease". ^"GreasemonkeyProjectInfo".Archivedfromtheoriginalon25March2012.Retrieved31August2011. ^Pilgrim,Mark(2005).GreasemonkeyHacks.O'Reilly.ISBN 978-0-596-55357-9. ^"AaronBoodmanwroteGreasemonkeyin2004". ^abSingel,Ryan(17May2005)."FirefoxUsersMonkeyWiththeWeb?".Wiredmagazine. ^http://mozdev.org/pipermail/greasemonkey/2005-July/004033.html ^https://lwn.net/Articles/144452/ ^http://mozdev.org/pipermail/greasemonkey/2005-July/004379.html ^Nivi(8May2005)."Greasemonkeywillblowupbusinessmodels(aswellasyourmind)".Archivedfromtheoriginalon3June2006.Retrieved22July2010. ^Festa,Paul(24March2005)."Firefoxadd-onletssurferstweaksites,butisitsafe?".CNET. ^Selvitelle,Britt(3January2007)."Userscripts.org...Opensource!".Archivedfromtheoriginalon17January2007.Retrieved21May2014. ^"Passingthetorchonuserscripts.org".HackerNews.2010.Retrieved24October2014. ^"FixingInstallCounts".1April2013.Archivedfromtheoriginalon3November2013.Retrieved21May2014. ^abcBrinkmann,Martin(9May2014)."Userscripts.orgdownforgood?Herearealternatives".Retrieved21May2014. ^"UserScriptHosting".16May2014.Retrieved21May2014. ^"Pleasechangetheofficialuserscriptsite".greasemonkey-dev(Mailinglist).21April2014.Retrieved21May2014. ^ab"OpenUserJS".openuserjs.org. ^ab"FixingInstallCounts–Page6".1April2013.Archivedfromtheoriginalon3November2013.Retrieved5November2015. ^ab"GreasyFork".greasyfork.org. ^Barnabe,Jason(19February2014)."IntroducingGreasyFork–auserscriptssite".Retrieved5November2015. ^.https://developer.mozilla.org/en/XPCNativeWrapper ^"UserScriptHosting-GreaseSpotWiki".wiki.greasespot.net.Retrieved22July2019. ^"Greasemonkey".mozdev.org.mozdev.Retrieved5May2009. ^"GreasemonkeyPortforSeaMonkey-About-OpenUserJS".openuserjs.org. ^ianloic."Greasemonkey".Songbird.Archivedfromtheoriginalon2June2008.Retrieved5May2009. ^"janekptacijarabaci/greasemonkey".GitHub.Retrieved23March2020. ^"ImprovementsforGreaseMonkeysupport·Issue#3238·qutebrowser/qutebrowser".GitHub.Retrieved19May2020. Externallinks[edit] MediarelatedtoGreasemonkeyatWikimediaCommons Officialwebsite Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Greasemonkey&oldid=1071878875" Categories:FreeFirefoxWebExtensionsFreesoftwareprogrammedinJavaScriptWebscrapingHiddencategories:ArticleswithshortdescriptionShortdescriptionisdifferentfromWikidataUsedmydatesfromNovember2015WikipediaarticlesneedingclarificationfromApril2018CommonscategorylinkfromWikidataOfficialwebsitedifferentinWikidataandWikipedia Navigationmenu Personaltools NotloggedinTalkContributionsCreateaccountLogin Namespaces ArticleTalk English expanded collapsed Views ReadEditViewhistory More expanded collapsed Search Navigation MainpageContentsCurrenteventsRandomarticleAboutWikipediaContactusDonate Contribute HelpLearntoeditCommunityportalRecentchangesUploadfile Tools WhatlinkshereRelatedchangesUploadfileSpecialpagesPermanentlinkPageinformationCitethispageWikidataitem Print/export DownloadasPDFPrintableversion Inotherprojects WikimediaCommons Languages CatalàČeštinaDeutschEspañolEsperantoفارسیFrançais한국어ItalianoMagyarNederlands日本語PolskiPortuguêsRomânăРусскийSuomiSvenskaУкраїнська中文 Editlinks



請為這篇文章評分?