Nybörjarens guide till Greasemonkey-skript
NyheterTanken bakom Greasemonkey är ganska enkel. Det är en Firefox-förlängning, installerad på samma sätt som någon annan Firefox-förlängning (hitta den via Verktyg> Addons-menyn och klicka på Installera).
Det gör emellertid ingenting i sig själv: det som gör det är att du kan köra skript, antingen av andra eller av dig själv, vilket kommer att ändra hur webbsidor ser ut och fungerar.
Greasemonkey användarskript är bitarna av kod som faktiskt gör jobbet - Greasemonkey själv laddar och hanterar dessa. Användarskript är skrivna i JavaScript, men varnas: Av säkerhetsskäl är det här inte bara en fråga om att skriva regelbunden JavaScript och borta går du.
Det finns några gotchas att vara medvetna om, även om skripten i den här guiden inte stöter på någon av dem. En snabb anteckning om du inte känner till JavaScript: den här guiden kommer inte att förklara JavaScript-syntaxen i någon detalj, men låt det inte hindra dig från att ge det en gå. Det är allt ganska logiskt och kodsekvenserna förklaras alla.
För att installera ett skript som någon annan har skrivit, navigerar du till dess plats i Firefox och klickar på länken till manuset. Du kommer att få en installerings popup, som med en vanlig förlängning, och kan antingen titta på källkoden för manuset först eller, om du känner dig förtroende, bara installera den.
Del 1 - Ditt första Greasemonkey-skript
Greasemonkey ger en användbar dialog för att göra ett skript så enkelt som möjligt. I ditt Firefox-fönster, när du har laddat ner och installerat Greasemonkey kommer det att finnas ett litet apa-ansikte i det högra hörnet av statusfältet.
Högerklicka på det och du får en meny som innehåller alternativet "New User Script". Klicka på det och du får en dialogruta som ser lite ut som rutan till höger.
"Namnet" är bara namnet på ditt skript - det är bäst att välja något som tydligt anger vad det gör, för att underlätta skripthantering senare. "Namnrymden" är att undvika att ditt skript kolliderar med andra.
Om du försöker installera ett skript som har samma namn som en redan installerad, är det namnet som reglerar om det kommer att överskriva den gamla (om namnrymden är densamma) eller sameksistera med den (om de är annorlunda).
Det finns ett par saker du kan göra här: den första är att använda din egen webbplats som domännamn. Alternativt kan du använda http: // localhost, eller om du tänker ladda upp den till http://userscripts.org när du är klar kan du använda det.
Nuvarande versioner av Greasemonkey tillåter inte att du lämnar den tom. 'Beskrivning' är en läsbar linje som beskriver vad manuset gör. Det är en väldigt bra idé att fylla i det här fältet, även för dina egna skript - du kan sluta med stackar av sakerna och de blir mycket enklare att hantera om du ger extra ledtrådar om vilket är vilket.
Hack på nätet
Reglerna "inkludera" och "utesluta" reglerar vilka webbplatser ett skript ska köra och kan innehålla jokertecken. Så, www.example. com / * kommer att matcha www.example.com/ och alla sidor som börjar med den webbadressen (under www.example.com/ utan asterisken kommer bara att inkludera framsidan).
Du kan också använda jokertecken för delar av namn: http: //*.example.com/f* kommer att matcha vilken sida vars sökväg börjar med f, på vilken som helst server i example.com-domänen. Som standard innehåller rutan Inkludera sidan du var på när du klickade på det nya skriptalternativet, men du kan radera det.
Om en inkommen regel är matchad och ingen exkluderande regel matchas, körs skriptet. Om du inte har någon inkluderad regel antar Greasemonkey @include *, det vill säga att varje webbadress matchas, så manuset kommer att köras på varje sida du laddar.
Det här första skriptet kommer att ställa bakgrunden till en sida till vit - väldigt användbar om du stöter på en sida vars författare har en förkärlek för ögonbollsbrännande rosa eller den slags repeterande bakgrundsbild som genererar huvudvärk inom några sekunder.
Välj så en webbplats du vill ändra bakgrunden till och sätt i den @ include box (här använder jag www.example.com) och ange övriga fält efter behov.
När du har fyllt i detta kommer du att bli ombedd till din föredragna redigerare (om det inte redan finns en uppsättning), och sedan laddar Greasemonkey skriptfilen - som för närvarande bara innehåller metadata - upp i redigeraren, redo för dig att skriva något.
Vid den här tiden kommer koden du står inför att se en rättvis bit ut så här:
// == UserScript ==
// @namn Bakgrundsändring
// @namespace http://www.example.com/ juliet /
// @description Ändra bakgrundsfärgen på en sida
// @include http://www.example.com/*
// == / UserScript ==
Nu är det dags att faktiskt skriva manuset. Allt detta första skript gör är att ändra bakgrundsfärgen på några sidor från webbplatser i inkludera domän till vit. (Det finns verkligen några obehagliga bakgrundsfärger där ute.)
För en sida utan ramar eller andra komplikationer är detta väldigt enkelt: bara en enda rad.
document.body.style.background = "#ffffff";
dokumentera är det inbyggda sättet att hänvisa till den aktuella sidan. Det är ett DOM-objekt (Document Object Model) som representerar hela HTML-dokumentet.
Tänk på detta som ett träd av HTML-element som betraktas som objekt, med varje nytt element som förgrenar sig som ett "barn" till det som finns före det - kolla på diagrammet nedan, vilket visar en möjlig struktur för kroppsdelen av en HTML dokumentera.
DOM TREE: Ett HTML-dokument som ett DOM-träd - varje barnnod knyter sig ner från dess moderkod
Notationen för att referera till ett objekt i denna modell är toplevel.child.childofchild. Så den här linjen tar dokumentet, sedan kroppselementet, sedan kroppens stil, sedan bakgrundsattributet i stilen ... och ställer den till vitt. (#ffffff är vit i hexadecimal notation, vilket är en av HTML-standarderna. Du kan också bara använda vit.)
Prova det nu - välj en sida med en icke-vit bakgrund, använd menyn Hantera skript för att lägga till den till innehållet för ditt skript och ladda om sidan.
När du testar, kom ihåg: du gör inte någonting till den webbsida du redigerar. Du ändrar bara det för dig. Så om du gör något katastrofalt, inget problem! Du kan bara stänga av ditt skript eller redigera det och ladda om sidan. Så gärna experimentera.
När du testar, om du vänster klickar på det lilla apa-ansiktet, kommer det att växla Greasemonkey till / från. Så du kan byta ut den, kontrollera hur sidan ser ut, koppla på den, ladda om och se vad ditt skript gör.