Kako izraditi skripte za programe. Uvod u tečaj pisanje skripti. register_globals = Isključeno i ništa drugo

Što je skripta? Skripta je program napisan u web programskom jeziku za stranice koji rješava sve dinamičke probleme na stranici, bilo da kreira košaricu za kupca ili organizira dopisivanje na stranici ili glasovanje općenito, ispunjava sve potrebe koje standardnim sredstvima html ili css nije moguće implementirati. Skripte su gotovo glavna komponenta svake web stranice, upravo uz pomoć skripti web stranica od obične rukom crtane stranice postaje multifunkcionalna struktura, a bez skripti je nemoguće.
Gotovo svaka skripta može se prilagoditi određenom mjestu, konfigurirati i implementirati. U ovom odjeljku nudimo vam vrlo zanimljive i korisne skripte koje će vam pomoći da svoju web stranicu učinite praktičnijom i raznovrsnijom.

Ovaj ažurirana verzija dobro poznati i omiljeni CMS Wordpress, koji vodi većinu blogova na Internetu. Verzija je potpuno rusificirana i ispravna. U ovoj smo verziji puno toga poboljšali i poboljšali, npr. poboljšali smo se uređivač teksta, stvorio je novi prikaz za biblioteku slika, novi direktorij dodataka itd. Možete preuzeti Wordpress 4 i već danas imati prekrasan blog.

Izvrstan, moćan forum koji ima ogroman potencijal i, što je najbolje, također je besplatan. Verzija 3 je logičan nastavak dobro poznatog phpbb2, ali naravno ima puno više funkcionalnosti, kvalitete i svih vrsta poboljšanja. Dobar cms koji ni na koji način nije lošiji od svojih plaćenih kolega.

Pročitajte upute za instaliranje i konfiguraciju phpBB3 forum skripte.

Ovo je najpopularnija verzija jednog od najboljih CMS-a. Na temelju njega možete izraditi projekte gotovo bilo koje složenosti, od osobne stranice do internetske trgovine na više razina. Ljepota ovog CMS-a je njegova jednostavnost korištenja i prilično jednostavno postavljanje, što vam daje velike mogućnosti u smislu izrade web stranica. Joomla 2.5.6 potpuno je besplatan CMS s ogromnim skupom dodataka i svim vrstama predložaka.

Joomla je skup skripti napisanih na jeziku PHP programiranje. Ovo je gotov i besplatan motor za vašu web stranicu. Joomla! nastoji stvari održati što je moguće jednostavnijim, a istovremeno pruža izvrsne značajke. Konačno, ljudi koji se tek upoznaju s programiranjem mogu imati sustav za potpuno upravljanje svojim web stranicama bez trošenja pretjeranih količina novca na softver zatvorenog koda. Obično je web poslužitelj prerogativ hostera, ali možete vrlo jednostavno i brzo instalirati D.E.N.W.E.R., koji će instalirati gotov paket na vaše računalo softver web server i na kojem možete implementirati i instalirati CMS Joomla. Verzija Joomla! 1.5.12 s lokaliziranim demo materijalima i unaprijed instaliranim ruskim jezikom dijaloga. Ova se distribucija ne razlikuje od standardne, osim unaprijed instaliranih paketa za lokalizaciju na ruski jezik, demo materijala na ruskom, TinyMCE jezičnih datoteka i teksta licence prikazanog tijekom instalacije.

Zapravo, to je mini Yandex na vašoj web stranici. Skripta za pretraživanje stranica bez korištenja MySQL-a. Prikladno za većinu malih i srednjih mjesta. Koristi indeksiranje, što značajno skraćuje vrijeme pretraživanja. Indeksira ~1Mb u 1 sekundi (brzina ovisi o ugniježđenosti mapa i strukturi vaših stranica). Pretraga traje od djelića sekunde (ovisno o složenosti upita i težini indeksa) do...

WordPress je besplatni CMS S otvoreni izvor, distribuiran pod GNU GPL. WordPress je danas jedna od najpopularnijih platformi za bloganje. Pomoću ove skripte možete napraviti web stranicu s velikom funkcionalnošću, od jednostavne stranice s objavama, do multifunkcionalne stranice s registracijom korisnika i svim vrstama usluga, zahvaljujući velikom broju dodataka. Također postoji veliki broj besplatnih predložaka napisanih za ovaj CMS koji će pomoći da vaš blog bude moderan i lijep.
Vodič za instalaciju i konfiguraciju.

Skripta (skriptni jezik - prevedeno s engleskog kao "skriptni jezik") je programski jezik visoke razine koji je razvijen posebno za pisanje skripti - kratke upute za izvođenje određenih radnji sustava. Skripta je program koji se bavi gotovim programskim komponentama. Uglavnom se skripte koriste za stvaranje dijaloga s čitateljem hiperteksta, kao i za opskrbu stranica raznim "trikovima": na primjer, skočnim savjetima ili brojačima posjeta. Skripta je također program koji automatizira zadatak računala, na primjer, postavljanje parametara proxy poslužitelja.

Gdje početi?

Pitanje kako naučiti stvarati skripte u biti je jednako pitanju kako naučiti programirati. U mnogim izvorima na internetu možete pronaći članke pod naslovom "Kako napraviti skriptu", koji počinju riječima - "To je vrlo jednostavno učiniti i svatko to može učiniti ...". Ali, zapravo, ova izjava je vrlo upitna. Glavni problem je potreba za proučavanjem mase naredbi i unutarnjih značajki jezika. Jednostavna skripta, naravno, može se izraditi pomoću predloška, ​​kojih na internetu ima na tone. Ovdje se, stvarno, svatko može snaći. Na primjer, možete odmah otvoriti Notepad i upisati sljedeće:

  • WScript.Echo("Zdravo!");
  • tekst = "";

Sada morate spremiti datoteku s resolution.js. Kako pokrenuti skriptu? Samo dvaput kliknite na stvorenu datoteku i evo - pojavit će se klasični Windows prozor s obavijestima s tekstom “Hello!” Možete kliknuti na tipku “križić” ili tipku “OK” i zatvoriti skriptu. Za više informacija pročitajte naš članak. Dakle, napisali ste skriptu i čak i sada možete kreirati takve prozore obavijesti s bilo kojim natpisima, ali nemate pojma što naredbe znače, samo ih kopirate. Ako se suočite sa zadatkom da vam se neka vrsta izbornika pojavi kada kliknete na gumb "OK", naći ćete se potpuno u nedoumici. Ako želite pisati skripte, a ne kopirati ih, prvo ćete morati naučiti sintaksu i strukturu skriptnih jezika.

Skriptni jezici

Skriptne jezike možemo podijeliti u četiri klase:

  • naredba-scenarij. Najpoznatiji je JCL. Ova skupina jezika koristi se za upravljanje zadacima u operativnim sustavima. Jezici su stvoreni 1960-ih, ali malo ljudi danas radi s njima.
  • primijenjeni scenarij. To uključuje najpopularniji JavaScript. Ova grupa jezika radi na klijentskoj strani softvera. Mogu se pronaći dobri vodiči za JavaScript.
  • Označni jezici koji dopuštaju ugrađivanje oznaka u običan tekst za strukturu i specifično dinamičko ponašanje. Najpoznatiji je PostScript, proučimo ga.
  • univerzalni jezici najprikladniji za web programiranje. Najpopularniji je Tcl, zaronimo u njegovu sintaksu.

Dobre predloške skripti možete pronaći na web stranicama - webnav.ru i besttemplates.ru.

Instalacija skripte

Kako instalirati skripte na web stranicu? Programi pomoću kojih korisnik dizajnira web stranicu mogu se razlikovati po sučelju, ali opća shema izgleda ovako:

  1. Učitajte datoteku skripte na stranicu u ftp rezoluciji;
  2. Postavite pravo pokretanja skripte u sigurnosnim postavkama;
  3. Pokrenite obrazac za instalaciju i ispunite potrebne podatke;
  4. Dodatnu konfiguraciju skripte vršimo u upravljačkoj ploči.

upute

Ovisno o tome gdje se skripta izvršava, skripte se dijele na “klijent” i “poslužitelj”. Prilikom odlaska na neku adresu na mreži serveru šaljemo URL stranice koja nas zanima, a on pokreće skriptu koja se nalazi na navedenoj adresi. Skripta, izvršavajući radnje programirane u njoj na poslužitelju, sastavlja stranicu iz potrebnih blokova i šalje je pregledniku. Ovo je poslužiteljska skripta. Nakon što primi stranicu, naš preglednik je renderira za nas i, ako kod primljene stranice sadrži neku vrstu skripte, on već izvršava tu skriptu. Ovo je klijentska skripta.
Da bi poslužitelj ili preglednik pročitao, razumio i izvršio skriptu, ona mora biti kompajlirana i napisana u skladu s njima poznatim pravilima. Takvi skupovi pravila nazivaju se skriptni programski jezici. Većina današnjih poslužiteljskih skripti napisana je u PHP jezik, a većina onih na strani klijenta je u JavaScriptu. Da biste napisali skriptu, dovoljno je imati obični uređivač teksta - notepad. Ali za stalno programiranje skripti ne možete bez specijaliziranog urednika. Takav urednik preuzima lavovski dio rutinskog posla pisanja skripti, ostavljajući programeru više vremena za kreativnost.
Napišimo jednostavnu skriptu u PHP-u na strani poslužitelja. Prvi redak trebao bi obavijestiti izvođača da scenarij počinje od ove točke. U PHP-u ova početna oznaka izgleda ovako:Između ova dva taga nalaze se upute – jezik. Na primjer, ispišite natpis koji je ostavio O. Bender na stijenama Kavkaza ovako: echo ("Kisya i Osya su bili ovdje"); A uputa za prikaz trenutnog vremena u formatu SAT:MINUTE napisana je ovako: echo datum ("H:i"); Kompletna PHP skripta sastavljena od ovih izjava izgledala bi ovako:datum odjeka ("H:i");
echo ("Kisya i Osya su bili ovdje!");?>Nakon izvršavanja ove skripte od strane poslužiteljskog izvršnog programa (prevoditelj jezika), stranica bi izgledala ovako:

A ista skripta u klijentskom JavaScriptu izgledat će ovako: var now = new date();
document.write("U");
document.write(now.getHours() + ":" + now.getMinutes());
document.write ("Kisya i Osya su bili ovdje!"); Ovdje linija var now = new date() naređuje izvršitelju skripte da stvori novi virtualni objekt pod nazivom "now", koji predstavlja trenutni datum i vrijeme. document.write() je naredba za pisanje onoga što je navedeno u zagradama na stranici, a naredbe now.getHours() i now.getMinutes() upućuju dohvaćanje trenutnog sata i minute iz objekta “now”.
Radi veće jasnoće, sve što preostaje je kombinirati ove dvije skripte u jednu datoteku, spremiti je na poslužitelj i upisati URL u adresnu traku preglednika. Kao rezultat, vidjet ćemo identične retke, od kojih je jedan izvršen prema našoj skripti na poslužitelju (od strane PHP interpretera), a drugi na našem računalu (od strane JavaScript interpretera).

Svaki početnik Administrator sustava Linux se prije ili kasnije susreće s konceptom poput “ skripta”, bila to jedna od skripti za pokretanje poput /etc/rc.d/rc ili konfiguracijsku skriptu koju je napisao programer softvera konfigurirati. U ovom ću članku pokušati pokazati da je pisanje skripti u ljuska nije nešto neobično i sasvim je izvedivo čak i početniku u svijetu Linuxa.

Počnimo tako što ćemo otkriti što se krije iza engleskim pojmovima ljuska I skripta. Ljuska, ili shell, kako se taj izraz ponekad prevodi, je interpreter naredbi, sučelje između korisnika i operativnog sustava, njegova jezgra. Ali više od toga, također je moćan programski i skriptni jezik. Sadrži vlastite funkcijske riječi i kontrolne strukture te vam omogućuje pisanje programa na njemu. Ovaj program skriptnog jezika zove se skripta, može kombinirati sistemske pozive i naredbe operacijski sustav, kao i vanjski uslužni programi, stvarajući moćan alat za administraciju sustava.

Jedan od zadataka administracije sustava je sigurnosna kopija važna informacija. Stoga, pogledajmo primjer skripte koja implementira sigurnosne kopije informacija.

Početak vremena

Dakle, prije svega, moramo razumjeti strukturu scenarija. Nije to ništa komplicirano. Uglavnom, najjednostavnija skripta jednostavno je popis sistemskih naredbi. Na primjer:

Echo Ovo je samo primjer
tko sam ja
uname -a

Ove naredbe su kombinirane u jednoj datoteci. Ali ljuska mora znati da mora obraditi ovu datoteku, a ne samo čitati njen sadržaj. Za to postoji posebna konstrukcija: #!

Ovaj dizajn se zove " ša-bang" Zapravo, # specificira komentar, ali u ovom slučaju sha-bang znači da će nakon njega ići put do rukovatelja skripte. Na primjer:

#!/bin/bash
#!/bin/sh
#!/usr/bin/perl

Držat ćemo se ljuske Bash, Bourne-Again. Ova je ljuska instalirana prema zadanim postavkama na gotovo svim Linux sustavima, a /bin/sh povezuje se s njom. Kraj skripte je označen servisnom riječi exit.

Naoružani ovim znanjem, napišimo našu prvu skriptu:

#!/bin/bash
echo Jednostavna skripta # Naredba echo prikazuje poruku na ekranu
echo Ti:
whoami #whoami prikazuje ime registriranog korisnika
echo Vaš sustav je pokrenut
vrijeme rada # vrijeme rada pokazuje vrijeme kada je stroj bio uključen
echo Today
datum # datum prikazuje trenutni datum i vrijeme
echo To je to za sada
Izlaz

Spremimo ovu datoteku pod imenom tutor1.sh. Pokrenimo naredbu da skriptu učinimo izvršnom.

Chmod +rx tutor1.sh

Rezultat pokretanja skripte bit će:

Voland@superstar:~/Doc/Open Source$ ./tutor1.sh
Jednostavna skripta
Vas:
voland
Vaš sustav je pokrenut
14:38:46 do 1:48, 2 korisnika, prosjek opterećenja: 0,47, 0,43, 0,41
Danas
Ned, 26. veljače 14:38:46 MSK 2006
To je sve za sada

Prijeđimo na nešto ozbiljnije.

Sada kada smo naučili kako pisati osnovne skripte, vrijeme je da prijeđemo na ozbiljne stvari: pisanje rezervne skripte.

Prije svega, potrebno je utvrditi - sigurnosna kopijašto ćemo učiniti? Stoga naša skripta mora moći raditi s naredbenim redom. Argumenti naredbeni redak navedeni su nakon naziva skripte odvojene razmakom: somescript arg1 arg2 arg3. Skripta percipira argumente po njihovim rednim brojevima, pa ćemo koristiti konstrukcije oblika $argument_number, tj. 1 $, 2 $, 3 $. $ je zamjenski znak koji će nam također trebati kada radimo s varijablama. Varijable u skripti navedene su u obliku ime_varijable=vrijednost. Koristit ćemo varijable MAXPARAMS za definiranje maksimalnog broja parametara naredbenog retka, BACKUPFILE za postavljanje naziva arhive, BACKUPDIR za mapu koju ćemo sigurnosno kopirati i ARCHIVEDIR za mapu u koju ćemo smjestiti arhivu. Najvažniji dio skripte bit će naredbe za pretraživanje i arhiviranje svih pronađenih datoteka i mapa u navedenoj:

Pronaći. -tip f -ispis0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $arhiva.tar

Shvatimo što ove naredbe rade. find pretražuje trenutni direktorij (ovo je označeno prvim argumentom ".") za sve datoteke i vraća punu stazu do njih (print0). Ti se putovi preusmjeravaju na naredbu tar, koja skuplja sve datoteke u jednu. Zatim pomoću naredbe gzip arhiviramo rezultirajuću tar datoteku. Tim > /dev/null zgodno ako arhivirate veliki broj datoteke. U tom slučaju njihova imena i puni put do njih nisu prikazani na konzoli.

Sljedeći korak je davanje savjeta korisniku o tome kako koristiti skriptu ako pogriješi.

Na primjer, ovaj dizajn

If [ $# -lt "$MAXPARAMS" ];
zatim
jeka

jeka
izlaz 0
fi

pokazat će da korisnik nije odredio dovoljno argumenata naredbenog retka. Ako [uvjet]...fi navodi uvjetnu konstrukciju. $# -lt "$MAXPARAMS" provjerava uneseni broj parametara i ako je taj broj manji od MAXPARAMS, korisnik će dobiti poruku koja ukazuje na pogrešan unos. Izlaz 0 uzrokovat će prekid skripte bez navođenja koda pogreške. Prekoračenje dopuštenog broja parametara provjerava se na sličan način, samo umjesto ls (manje od - manje od), morate navesti gt (veće od - veće od). Sada kada su glavne točke skripte objašnjene, možemo prijeći na njezinu punu verziju:

#!/bin/bash
# Opis:
#+ Izrađuje sigurnosnu kopiju svih datoteka u navedenom direktoriju
#+ u "tarball" (arhiva tar.gz).
#+ Upotreba:
#+ sh backup.sh archive_name izvorna mapa odredišna mapa
#+

# Maksimalni iznos opcije naredbenog retka
MAXPARAMS=3

if [ $# -lt "$MAXPARAMS" ];
zatim
jeka
echo "Upotreba: sh `basename $0` archive_name izvorna mapa odredišna mapa"
jeka
izlaz 0
fi

if [ $# -gt "$MAXPARAMS" ];
zatim
jeka
echo "Ova skripta zahtijeva samo $MAXPARAMS argumente naredbenog retka!"
jeka
izlaz 0
fi

# Varijable koje koristimo u skripti
BACKUPFILE=$1-backup-$(datum +%m-%d-%Y)
arhiva=$BACKUPFILE
BACKUPDIR=$2
ARCHIVEDIR=$3

# Provjerite postoji li izvorna i odredišna mapa
ako [! -e $BACKUPDIR];
zatim
jeka
echo "\"$BACKUPDIR\" ne postoji!"
jeka
izlaz 0
fi

ako [! -e $ARHIVIR ];
zatim
jeka
echo "\"$ARCHIVEDIR\" ne postoji, stvara se..."
mkdir $ARHIVIR
echo "Gotovo."
fi

# Provjerite postoje li arhive u izvoru i odredištu.
cd $ARCHIVEDIR
if [ -e $archive.tar.gz ];
zatim rm $archive.tar.gz
fi

cd $BACKUPDIR
if [ -e $archive.tar.gz ];
zatim rm $archive.tar.gz
fi

# Glavni dio scenarija...
echo "Izrada sigurnosne kopije \"$BACKUPDIR\" u datoteku \"$archive.tar.gz\"..."
pronaći . -tip f -ispis0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $arhiva.tar
echo "\"$BACKUPDIR\" je uspješno arhiviran u datoteku \"$archive.tar.gz\"."

# Premjestite arhivu u mapu ARCHIVEDIR
echo "Premještanje arhive \"$archive.tar.gz\" u mapu \"$ARCHIVEDIR\"."
mv $archive.tar.gz $ARCHIVEDIR/$archive.tar.gz
echo "Gotovo."

Nadam se da sam dovoljno detaljno komentirao glavne točke. Ako imate pitanja, možete me kontaktirati na [e-mail zaštićen] Preporučam i prekrasnu knjigu Advanced Bash-Scripting Guide od Mendela Coopera, koja mi je jako pomogla kad sam se tek upoznavao sa skriptama. Sretno programiranje.

p.s. Hvala vam puno ožujak za njezine komentare i savjete.

(oni su korisnički skript, korisnikJS, korisničke skripte).

U ovom članku želim govoriti o tome što su korisničke skripte, za što se koriste i, što je najvažnije, kako se pripremaju!

Što su korisničke skripte?

Ukratko: korisnička skripta je program napisan u JavaScriptu, pohranjen na računalu korisnika i povezan preglednikom na određenim stranicama. Userscript je datoteka s ekstenzijom .korisnik.js(po ekstenziji preglednici razumiju da je datoteka korisnička skripta) koja sadrži metapodatke i sam javascript kod.

Prilikom spajanja na stranicu, korisnička skripta se izvršava na isti način kao i obične javascript skripte.
Korisnička skripta ima pristup DOM stablu stranice u čijem kontekstu se izvršava.
U modernim preglednicima korisnički skript ima pristup localStorageu i drugim HTML5 API-jima.

Korisničke skripte su podržane svi glavni moderni preglednici(pa čak i nekako podržano IE7 i noviji).

Najpoznatiji userscript portal je userscripts.org. Ovdje možete pronaći repozitorij skripti, alate za upravljanje vašim skriptama na portalu i, na kraju, ali ne manje važno, odgovarajući forum(sve je na engleskom).

Malo opće teorije

Najčešće su skripte pod GreaseMonkey proširenje za Firefox preglednik.
Detaljne informacije o GreaseMonkey i pisanju korisničkih skripti za GreaseMonkey mogu se pronaći na http://wiki.greasespot.net.
Tako se povijesno dogodilo da ovaj preglednik je bio (i ostao do danas) prvi u kojem je podrška za korisničke skripte izvedena na visokoj razini.

Ne mogu se sve skripte napisane za GreaseMonkey izvoditi u drugim preglednicima. Razlog za zakrivljenost je što mnoge skripte koriste GM API- skup javascript funkcija specifičnih za GreaseMonkey.

Međutim, najlakši način je napisati korisničke skripte za preglednik Google Chrome.
Za to postoji više razloga:

  1. Jednostavne skripte ne trebaju podršku za GM API (biblioteka dostupna u GreaseMonkey)
  2. Google Chrome, za razliku od Firefox+GreaseMonkey, ima odličan program za ispravljanje pogrešaka.
  3. Userscript poruke o pogrešci u Firefoxu strašno! Osim ako nemate dar telepatije i dobro poznajete GreaseMonkey i javascript, pisanje korisničke skripte može biti muka!
  4. Google Chrome ne zahtijeva proširenja za podršku korisničkim skriptama. Sučelje za brisanje/onemogućavanje korisničkih skripti dostupno je izvan kutije.
Očigledni nedostaci Google Chromea:
  1. Nema pristupa "nativnom" prozoru.
  2. Direktiva metapodataka @include nije podržana. @match direktiva je bugova, moglo bi se reći da također nije podržana.

Značajke korisničkih skripti

Svatko tko ima bilježnicu može vidjeti korisnički kod skripte.
Osnovno poznavanje javascripta omogućuje vam da odsiječete prijetnju instaliranja špijunskog softvera i zlonamjernih skripti jednostavnom analizom koda skripte (morat ćete upotrijebiti svoj mozak).

Sve korisničke skripte pokreću se nakon što se učitaju svi glavni elementi stranice, ali slike još nisu učitane. Možemo reći da se korisničke skripte učitavaju po događaju DOMContentLoaded.
svejedno, provjere za window.onload nisu potrebne.

Svaki preglednik nameće vlastita ograničenja na izvršavanje korisničkih skripti, ali općenito Korisničke skripte mogu učiniti gotovo sve što i skripte na stranici.
Najčešće se korisničke skripte koriste za promjenu sučelja stranice ili za dodavanje bonusa, blackjacka i kurvi (korisničke skripte za društvene mreže).
Postoje i napredne korisničke skripte, koje su neovisni programi (botovi za aukcije i igre, pomoćni dodaci itd.).

Anatomija korisničkih skripti

Userscript je tekstualna datoteka s ekstenzijom user.js. Na početku datoteke nalazi se blok metapodataka- opis samog scenarija. Iza bloka metapodataka slijedi javascript kod koji će izvršiti preglednik.

Razmotrimo testnu skriptu koja prikazuje upozorenje s tekstom na određenoj stranici.
// ==UserScript== // @name myUserJS // @description Moj prvi korisnički skript // @author Vasya Pupkin // @license MIT // @version 1.0 // @include http://userscripts.org/* / / ==/UserScript== // Omotajte skriptu zatvaračem za kompatibilnost s više preglednika (opera, tj.) (funkcija (prozor, nedefinirano) ( // normalizirajte prozor var w; if (typeof unsafeWindow != nedefinirano) ( w = unsafeWindow ) else ( w = window; ) // Gotovo sve javascript biblioteke mogu se umetnuti u korisničke skripte. // Kôd biblioteke kopira se izravno u korisničku skriptu. // Kada povezujete biblioteku, trebate proslijediti w kao prozor parametra prozora // Primjer: povezivanje jquery.min.js // (funkcija(a,b)(funkcija ci(a) ... a.jQuery=a.$=d))(w); // nemojte pokreni skriptu u okvirima // bez ovog uvjeta skripta će se pokrenuti nekoliko puta na stranici okvira if (w.self != w.top) ( return; ) // dodatna provjera uz @include if (/http:\ /\/userscripts.org/.test(w.location.href)) ( // Ispod je sam kod skripte alert("Userscripts vas pozdravlja nametljivim prozorom."); ) ))(prozor);

Važno: Ova skripta je omotač za korisničke skripte za više preglednika. Ista skripta, ali s engleskim komentarima, može se preuzeti s pastebin.com i koristiti ga nekažnjeno.

Na samom početku nalazi se blok metapodataka (u obliku komentara).
// ==UserScript== // ... // ==/UserScript==
Ovaj blok se sastoji od opisne direktive korisnički skript. Donja tablica prikazuje glavne smjernice i njihovu svrhu.

Važno:Sve direktive, kao i sam blok metapodataka, mogu nedostajati.

Direktiva Svrha
@Ime Naziv korisničke skripte.
Ovo će ime biti prikazano u upravljačkom sučelju
korisničke skripte. Ako nema direktive, onda ime
Korisnička skripta bit će ista kao naziv datoteke.
@opis Opis korisničke skripte.
Ovaj opis bit će prikazan u upravljačkom sučelju
korisničke skripte.
@namespace Imenski prostor.
Određuje jedinstvenost skupa skripti.
Ovdje možete unijeti naziv domene koja vam pripada. Ili bilo koja druga linija.
Smatrajte ovo drugim nazivom skripte. Obavezna uputa za Trixie!
@Autor Ime autora.
@licenca Naziv licence pod kojom se distribuira korisnička skripta.
@verzija Broj verzije korisničkog skripta.
Nažalost, ni u jednom pregledniku ne postoji mehanizam za automatsko ažuriranje,
tako da su broj verzije samo brojevi koji se prikazuju u sučelju.
@uključi
na kojem trebate pokrenuti korisničku skriptu.
Podržava zamjenski znak *(primjenjivo u GreaseMoneky, Operi, IE).
Za svaki zasebni url trebate koristiti zasebnu direktivu @include.
@isključiti Direktiva opisa URL-a stranice,
na kojoj Ne trebate pokrenuti korisnički skript.
Podržava zamjenski znak *(primjenjivo u GreaseMonkey, Operi, IE).
Za svaki zaseban url trebate koristiti zasebnu direktivu @exclude.
@podudaranje Slično @include, ali sa strožim ograničenjima
(primjenjivo u GreaseMonkey starijim od 0.9.8, Google Chrome).
Više informacija o ograničenjima i formatu direktive možete pronaći ovdje.
pročitajte na ovoj stranici.
Za svaki zasebni url trebate koristiti zasebnu direktivu @match.

Važno: Kao što je praksa pokazala, ne biste se trebali oslanjati na direktivu @match u korisničkim skriptama.
Google Chrome povremeno odbija poštovati @match
i pokreće korisničke skripte na svim stranicama.
Da biste spriječili takvu situaciju u korisničkim skriptama,
koji će raditi ne samo u Firefoxu,
trebate dodati kod za provjeru adrese stranice (pogledajte vezu u kodu korisničkog skripta).

Važno: U nedostatku direktiva @include ili @match, korisničke skripte će se izvršiti na svim stranicama.

Naša korisnička skripta koristi niz trikova:

  1. Kako bi se osiguralo da korisničke skripte imaju isto ponašanje i da ne zagađuju globalni opseg, kod pretvara u zatvaranje (pogledajte u kodu skripte).
  2. Kako biste ispravno povezali biblioteke unutar korisničke skripte i zaobišli neke lukave značajke GreaseMonkeya, potrebno je “normalizirati” referencu na globalni opseg prozora (pogledajte u kodu skripte).
  3. Kako bi se osiguralo da se korisnička skripta ne pokreće nekoliko puta na istoj stranici, potrebno je zaustaviti rad prilikom pokretanja korisničke skripte u okvirima (pogledajte u kodu skripte).
  4. Kako bi se korisnička skripta izvodila samo na stranicama koje su nam potrebne, moramo izričito provjeriti url stranice (pogledajte u kodu skripte).
  5. Zahvaljujući ovoj strukturi, korisnički skript može se relativno lako pretvoriti u bookmarklet.

Proizlaziti

Naša korisnička skripta je spremna za korištenje!
Ne, ozbiljno, možete kopirati kod korisničkog skripta u datoteku, nazvati je my.user.js i ispustiti rezultirajuću datoteku u svoj preglednik (koristite Chrome ili Firefox s instaliranim GreaseMonkeyjem).

Naravno, naša korisnička skripta nema ozbiljne funkcije, kod izgleda zastrašujuće i neprivlačno (za neupućenu osobu). Ali na kraju smo dobili prazan za korisničke skripte za različite preglednike.
To znači da se korisnička skripta može pokrenuti u gotovo svakom modernom pregledniku!
I to je super!

Ostaje pitanje: kako "distribuirati" našu skriptu korisnicima (uostalom, skriptu smo napisali ne samo za sebe)?
Mogućnosti:

  • Registrirajte se na portalu