Program de creare a gadgeturilor pentru Windows 7. Crearea propriilor gadgeturi

Ghidul de mai jos se bazează pe versiuni de previzualizare noul sistem de operare de la Microsoft Corporation - Windows Vista. Aceasta înseamnă că unele caracteristici ale creării gadgeturilor se pot modifica sau nu pot fi incluse în produsul final din motive de marketing, tehnice sau de altă natură. Vom depune toate eforturile pentru a actualiza acest articol dacă apar astfel de modificări.

Scurtă introducere la gadgeturile Microsoft
Windows Vista include multe funcții noi, iar una dintre cele mai necesare și mai așteptate este, fără îndoială, bara laterală Windows. Bara laterală este o zonă a ecranului care este rezervată special pentru gadget-uri, în același mod în care panoul a fost realizat anterior lansare rapidă- mai ales pentru comenzi rapide importante. Gadget-urile sunt miniprograme, ocupă puțin spațiu și nu mai pot face nimic. mai putin de atat, ceea ce creatorul realizează în ele. De exemplu, Windows Vista include acum mai multe gadget-uri: un mic calculator, un program Cititoare RSS panglici și încă câteva. Nu vă va lua mult să înțelegeți cât de convenabil este să utilizați gadgeturi.

Dar să fim sinceri: lumea este plină de lucruri pe care nu toți oamenii le pot face. Dar odată cu apariția gadgeturilor, situația se schimbă radical. Acesta este ceea ce face gadgeturile cu adevărat interesante pentru noi: noi tehnologii au fost dezvoltate pentru cei care scriu scenarii. Nu ne înțelegeți greșit: da, gadget-urile pot avea interfețe de ultimă generație și pot efectua niște sarcini foarte complexe, dar totuși se dovedesc a fi nimic altceva decât pagini HTML în miniatură care conțin cod mic VBScript (inclusiv codul WMI) sau Java Script. Puțin efort și îți vei face primul gadget.

A învăța să se dezvolte în orice limbaj de programare nu este atât de dificil pe cât ar părea. De exemplu, în acest videoclip https://itvdn.com/ru/video/php_start puteți studia cu ușurință Bazele PHPși apoi scrieți primul cod.

Să începem să creăm
Mulți oameni au criticat Microsoft pentru faptul că multe dintre produsele corporației au fost aparent concepute pentru a fi folosite de roboți sau de locuitorii planetei Omicron IV; în orice caz nu au fost concepute pentru uz uman. Acum astfel de expresii nu au loc, pentru că Toată lumea poate crea gadgeturi. Deși, dacă dintr-o dată ești un robot sau un locuitor al planetei Omicron IV, fii sigur că poți crea cu ușurință un gadget.

Pentru a crea un gadget, aveți nevoie doar de două lucruri:

1) Fișierul manifest numit Gadget.xml. Acest fișier conține toate setările pentru dispozitivul dvs., inclusiv numele gadgetului, informații despre autor și copyright, informații despre Pagina HTML, care alcătuiește codul real pentru gadget.
2) Fișier HTML (de exemplu, Test.htm). Gadget-urile nu sunt cu adevărat altceva decât fișiere HTML. Pur și simplu creați un fișier HTML, adăugați etichetele și codul corespunzător și veți vedea gadgetul.
Da, știm că nu aveți idee ce înțelegem prin „atribute și cod relevante”. Relaxați-vă; acesta este punctul central al restului articolului.
Acesta este singurul lucru necesar pentru a crea un gadget. Dar avem și nevoie fisier grafic, de exemplu icon.png. Acesta va fi sigla gadgetului dvs.

De la teorie la practică
1. Puneți toate fișierele în folderul gadget.
Atenție: plasați toate fișierele în folder și veți primi un gadget. Nu este nevoie de compilare, fără compilatoare .95, nimic mai obositor sau tehnic. Pur și simplu copiați fișierele în folderul specificat.
Doar în cazul în care vrei brusc să ne trimiți .95, vom fi foarte fericiți :).

Dosar special pentru gadgeturi
Mai întâi, să mergem la folderul cu gadgeturi preinstalate de la Microsoft.
Apăsați Windows + R și în fereastra care apare, introduceți:

%userprofile %\appdata\local\microsoft\windows sidebar\gadgets

Notă: dacă utilizați Windows Sidebar, portat pe Windows XP din Windows Vista build 5342, descărcat de pe site, apoi introduceți:

%fișiere de program%\Bară laterală Windows\Gadgets

Mai sunteți cu noi? Mare. Urmează practica mult așteptată/
În acest folder creați folder nou. Dați acestui folder orice nume, dar asigurați-vă că includeți .gadget la sfârșitul numelui (de exemplu, Test.gadget). Evident, vă va fi mai convenabil dacă numele folderului are o oarecare asemănare cu funcțiile gadgetului. Cu toate acestea, sistemul de operare folosește pur și simplu acest folder pentru a identifica fișierele conținute în el; numele gadgetului va fi derivat din informațiile găsite în fișierul gadget.xml, nu din numele dosarului.

Tot ce trebuie să faceți acum este să creați fișierele Gadget.xml și Test.htm în folder. Aceasta înseamnă că acum aveți un gadget Microsoft.

fișier gadget.xml
Acest fișier este scris Limbajul XML, puteți ghici imediat acest lucru din cauza extensiei .xml. De fapt, gadget.xml este un fișier manifest special, dar în același timp simplu fișier text, care conține configurația gadgetului.
Iată codul gadget.xml la care ne referim (folosește-l mai întâi):


Primul meu gadget
Băieții Microsoft Scripting
2006 Microsoft Corporation
Exemplu de gadget care returnează numele sistemului de operare instalat.

pictogramă.png



html
deplin
test.htm


Înainte să mă întrebați, este posibil să copiați acest fișier și să-l folosiți în mare măsură așa cum este - da, doar făcând modificările necesareîn mai multe etichete. (Și nu uitați, trebuie să denumiți fișierul Gadget.xml.)
Acestea sunt etichetele:


Numele obiectului gadget care apare în caseta de dialog Adăugați obiecte gadget.


Numele sau porecla persoanei care a scris gadgetul. Veți vedea autorul, drepturile de autor și descrierea obiectului gadget în fereastra de adăugare a obiectelor gadget


Scurtă descriere a gadgetului (ce face, etc.).


Numele fișierului imagine (sigla gadget). Pentru mai multe informații, consultați Crearea unei sigle în secțiunea următoare a acestui document.


Probabil că nu este cel mai intuitiv nume de etichetă din lume, dar este numele fișierului HTML care alcătuiește gadgetul tău.


Ei bine, nu există comentarii aici. Site-ul pentru dezvoltatori de gadgeturi.

Pentru persoanele care nu au înțeles încă pe deplin codul gadget.xml, iată o traducere completă în limba rusă a acestui fișier (când creați gadgeturi, utilizați numai fișierul gadget.xml de pe engleză):



Primul meu gadget
Băieții Microsoft
2006 Microsoft Corporation
Un exemplu de fișier gadget.xml care returnează numele sistemului de operare instalat.

pictogramă.png



html
deplin
test.htm
www.microsoft.com/technet/scriptcenter

t;

html
deplin
test.htm
www.microsoft.com/technet/scriptcenter

Crearea unei pictograme
Desigur, depinde de dvs. să decideți care va fi sigla gadgetului, dar dacă nu doriți să creați o imagine (în fișierul gadget.xml, nu completați eticheta), iar bara laterală Windows vă va oferi o imagine implicită. Absolut gratuit.

Dacă decideți să faceți un logo, rețineți că „pictograma” este doar un nume, dat la dosar cu imagine; acestea nu sunt adevărate imagini windows, și grafica care trebuie creată folosind un special software(traducătorul recomandă cu sinceritate și cu cele mai bune intenții folosirea aplicație grozavă MSPAINT.EXE, care a fost inclus cu Windows din 1994 pentru a crea sigla). Sigla este doar un fișier imagine în format GIF, JPG sau PNG. Toate siglele gadgeturilor Microsoft incluse în bara laterală sunt realizate în format PNG; Acest lucru se datorează probabil că grafica PNG permite transparență, oferindu-vă posibilitatea de a face foarte frumoase tablouri. (Veți avea, desigur, talentul necesar.) Cu toate acestea, puteți folosi fișiere JPG. Au dimensiuni semnificativ mai mici decât PNG, dar decideți singuri, deoarece... totul depinde de situația specifică.
Întrebare bună: ce dimensiune ar trebui să aibă logo-ul tău? Dimensiune optimă- 64x64 pixeli. Fișierele mai mari, cum ar fi 128x128, vor fi reduse de Bara laterală la 64x64, cu o posibilă pierdere a calității.

De exemplu, iată pictograma pe care am folosit-o:

Marca. Este posibil să fi observat că, în fișierul gadget.xml, eticheta este imbricată în interiorul etichetei:


pictogramă.png

Aceasta înseamnă că puteți adăuga imagini suplimentare la fișierul gadget.xml, deși, sincer, nu suntem siguri pentru ce ați folosi celelalte imagini suplimentare.

fișier HTML
Fișierul HTML care alcătuiește obiectul gadget în sine nu este de fapt diferit de orice pagină web care utilizează HTML dinamic; pentru a crea HTML, utilizați pur și simplu orice marcaj HTML valid (inclusiv Stiluri CSS) plus cod de script. Vă vom arăta un exemplu de pagină HTML. Înainte de a face asta, să aruncăm o privire rapidă la codul WMI.

Lucrul cu WMI
Dacă tu administrator de sistem, atunci sunteți obișnuit să scrieți scripturi care folosesc WMI. Acest lucru este de înțeles, până la urmă, WMI este o tehnologie care vă ajută să gestionați totul, de la imprimante, unități de disc la șoareci și monitoare. Utilizarea WMI este foarte convenabilă. De exemplu, să presupunem că doriți să aflați numele sistemului de operare instalat pe computerul dvs. local. Nici o problemă; Iată codul WMI care vă va returna aceste informații:

StrComputer = "."

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Pentru fiecare objItem din colItems
Msgbox objItem.Caption
Următorul

Dacă intenționați să creați gadgeturi pentru administrarea sistemului, atunci avem o veste proastă pentru dvs.: scripturile WMI pe care sunteți obișnuit să le scrieți nu vor funcționa în gadgeturi. (Stai, nu face nimic drastic, vom încerca să remediem această problemă, promitem.) Pentru că, în esență, un gadget nu este altceva decât o pagină Web și, din motive de securitate, paginile Web nu sunt capabile să utilizați GetObject. Dacă introduceți codul anterior în gadget, veți vedea acest mesaj de eroare:

Componenta ActiveX nu poate crea obiect: „GetObject”

Mm-da.
Dar nu intrați în panică. Puteți folosi în continuare codul WMI în gadget; Pur și simplu nu poți folosi GetObject și winmgmts. În schimb, trebuie să utilizați CreateObject pentru a crea un obiect WbemScripting.SWbemLocator, apoi să utilizați metoda ConnectServer pentru a vă conecta la serviciul WMI. Cu alte cuvinte, acesta este ceea ce ar trebui să scrieți ca rezultat:

StrComputer = "."

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")

Pentru fiecare objItem din colItems
Msgbox objItem.Caption
Următorul

Este clar? După cum am spus, nu există niciun motiv de panică. (Deși, pentru dreptate, probabil că a fost vina noastră că ați intrat în panică la început)/ Singura diferență este între un script care folosește direct WMI și un script care folosește ConnectServer pentru a se conecta la serviciul WMI în conexiune. Sunteți obișnuit să faceți o conexiune care utilizează o singură linie de cod:

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Acum trebuie să utilizați două linii de cod pentru a realiza conexiunea (da, dublarea sarcinii de lucru!) Creați un obiect WbemScripting.WbemLocator și utilizați metoda ConnectServer pentru a contacta serviciul WMI. Rețineți că transmitem doi parametri la ConnectServer - acesta este numele computerului la care să vă conectați, reprezentat de variabila strComputer și spațiul de nume WMI la care dorim să ne conectăm în acest caz root\cimv2):

Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Setați objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Înțelegi? Amenda. Acum să revenim la subiectul planificat.

Crearea unui fișier HTML
După cum am observat deja, gadgetul este doar un fișier HTML. Aceasta înseamnă că orice elemente, inclusiv cele dinamice, pe care le puteți utiliza în pagina HTML pot fi folosite și în gadget. Deoarece probabil v-ați dat seama deja că gadgetul compune și cod VBScript; Deși majoritatea gadgeturilor timpurii de pe site-ul Microsoft Gadgets sunt realizate în JavaScript, este mai ușor să lucrați cu VBScript la început decât cu Java Script.

V-am arătat deja codul WMI care returnează numele sistemului de operare instalat pe computer; să vedem dacă putem transforma acel cod într-un gadget. Vom începe foarte simplu, creând un dispozitiv care constă dintr-un singur buton, când apăsăm pe el vom vedea numele blocului de operație într-o casetă de mesaje. Iată codul HTML pentru primul nostru gadget:


Primul meu gadget


corp (lățime: 120; înălțime: 160)

Sub RunSub
strComputer = "."

Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")

Pentru fiecare objItem din colItems
Msgbox objItem.Caption
Următorul
End Sub



După cum puteți vedea, acest cod nu este nimic complicat; este un HTML rudimentar care nu face mult mai mult decât să afișeze un singur buton pe pagină. Când se face clic pe butonul, se execută subrutina numită RunSub; Această rutină folosește WMI pentru a determina numele sistemului de operare instalat pe computer.

Marca. Bine, poate că acesta este HTML de bază pentru unii oameni, dar ce se întâmplă dacă nu ai nimic de-a face cu HTML? Apoi citește documentația HTML, crede-mă, învățarea HTML este foarte ușoară. Acordați o atenție deosebită secțiunilor dedicate etichetelor și .

Singura etichetă la care trebuie să facem o notă specială este . Pe măsură ce începem să creăm gadgeturi mai complexe, vom discuta despre etichetă în detaliu; pentru moment, totuși, vom specifica doar că folosim această etichetă pentru a forma înălțimea și lățimea gadgetului nostru:


corp (lățime: 120; înălțime: 160)

Această etichetă spune pur și simplu că vrem ca gadgetul nostru să aibă o lățime de 120 de pixeli (bara laterală Windows în sine are aproximativ 130 de pixeli lățime) și 160 de pixeli înălțime. Pentru acest obiect gadget, 160 de pixeli în lungime va fi prea mult, așa că putem pur și simplu să atribuim o lungime personalizată, cum ar fi 50 de pixeli:


corp (lățime: 120; înălțime: 50)

De acord, acest gadget arată mult mai bine.

Când faceți clic pe butonul Run, apare o fereastră care ne spune versiunea sistemului de operare!

Relaxează-te sau arată-le prietenilor tăi spunându-le despre gadgetul tău.

Se afișează datele într-o etichetă
Până acum am creat un gadget simplu și, în plus, funcționează doar când facem clic pe un buton. Nu este nimic în neregulă cu acest lucru și, probabil, vor exista momente în care gadgetul dvs. va returna atât de multe informații încât vor încadra doar în caseta de mesaje. Fereastra Internet Explorer sau altă locație. Pe de altă parte, mai devreme sau mai târziu, veți crea și un gadget în care afișarea informațiilor într-o fereastră de mesaj nu are sens și a face clic pe un buton va fi inutilă. De exemplu, să presupunem că decideți să creați un ceas pentru bara laterală Windows. Imaginați-vă că știți cât este ceasul de fiecare dată când apăsați un buton și, în același timp, ora va apărea într-o casetă de mesaj. Cu siguranță planeta Omicron IV iubește astfel de lucruri. Dar oamenilor li se pare cam plictisitor, ca să nu mai zic de-a dreptul stupid.

Cu alte cuvinte, avem nevoie de capacitatea de a crea gadgeturi care pot:
1) Afișați datele direct în limitele gadgetului.
2) Afișați datele automat, fără a necesita interacțiunea utilizatorului cu gadgetul.
3) Actualizați periodic informațiile. De exemplu, un gadget care se afișează gratuit RAM computerul (vom crea un astfel de gadget mai târziu) trebuie să actualizeze în mod constant informațiile.

Nu va fi ușor să vă dați seama imediat, așa că vom învăța aceste abilități pe rând. Să ne uităm mai întâi la primul punct folosind o etichetă - simplu și cale usoara afișați informații direct în limitele gadgetului.

Iată o versiune revizuită a fișierului nostru HTML. În acest nou gadget, încă dați clic pe butonul Run pentru a apela rutina RunSub, cu toate acestea, de data aceasta, numele sistemului de operare nu va apărea într-o casetă de mesaj, ci în limitele gadgetului.


Primul meu gadget

corp (lățime: 120; înălțime: 160)

Sub RunSub
strComputer = "."

Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")

Pentru fiecare objItem din colItems

Următorul
End Sub





Totul funcționează așa cum ne-am dorit. Rece!

Bonus adăugat: un fundal gadget de primă clasă
Să vorbim mai multe despre crearea de gadgeturi cu aspect elegant. Vă vom spune câteva metode simple crearea unui astfel de gadget. De ce este necesar acest lucru? Gadgetul va arăta original și îl vei putea vinde cu mai mulți bani :). De exemplu, să presupunem că aveți o imagine (să o numim background.jpg) care va avea fundal bun pentru un gadget. În acest caz, tot ce trebuie să faceți este să introduceți următoarea linie în fișierul HTML după etichetă:

Acest cod forțează ca fișierul background.jpg să fie utilizat ca fundal pentru gadget:
Doar asigurați-vă că background.jpg este salvat în folderul gadget.

Alternativă. Puteți crea un gadget cu o culoare de fundal diferită; chiar acum, după etichetă, introduceți această linie:

Vom primi un gadget cu un fundal roșu aprins? Hei, de ce nu?

În sfârșit, poți face fundal gradient pentru gadgetul dvs. atunci când utilizați unul dintre filtrele web Microsoft. Iată ce vom schimba în stilul acestui gadget:
1) Să facem fontul alb, în ​​special Arial 8pt.
2) Adăugați un filtru gradient.

Iată codul final:


Gadgetul meu

corp(lățime:120;înălțime:160;font:8 pt Arial;culoare:alb;
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr="#000000",
EndColorStr="#0000FF"))

Sub RunSub
strComputer = "."
Set objLocator = CreateObject("WbemScripting.SwbemLocator")

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")
Pentru fiecare objItem din colItems
DataArea.InnerHTML = objItem.Caption
Următorul
End Sub



Desigur, ceea ce am primit nu este o operă de artă, dar arată mai bine decât un dreptunghi alb.

Crearea unui gadget care afișează datele automat
A avea un gadget care afișează informații în interiorul granițelor sale mai degrabă decât într-o casetă de mesaje este cu siguranță bine. Totuși, trebuie să facem clic pe butonul pentru a obține informațiile. Desigur, trebuie să existe o modalitate de a colecta informații automat și de a le afișa imediat când gadgetul este încărcat.

Nu vă certați, prieteni, chiar există o cale.
Ei bine, conform tradiției stabilite :) codul gadgetului nostru, care va arăta numele sistemului de operare instalat fără să faceți clic pe butonul:


Primul meu gadget

corp (lățime: 120; înălțime: 160)

Sub Window_OnLoad
RunSub
End Sub

Sub RunSub
strComputer = "."

Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")

Pentru fiecare objItem din colItems
DataArea.InnerHTML = objItem.Caption
Următorul
End Sub



Este ușor de observat că acest cod este foarte asemănător cu cel anterior. De fapt, există doar două diferențe:
1) Am eliminat butonul din gadget. Aceasta înseamnă că nu mai trebuie să faceți clic pe butonul (deși nu mai este nimic pe care să faceți clic).
2) Am adăugat subrutina Window_OnLoad.

Mulți oameni știu că rutina Window_Onload inclusă într-o pagină Web este concepută pentru a controla timpul de încărcare sau reîmprospătare a unei pagini Web. Această subrutină funcționează exact în același mod în gadgetul nostru: controlează automat ora când este încărcată. Pur și simplu creăm o subrutină numită Window_OnLoad și plasăm codul pe care vrem să-l controlăm mai jos.

Pentru acest obiect gadget, rutina noastră Window_OnLoad arată astfel:

Sub Window_OnLoad
RunSub
End Sub

Puteți vedea tot ce facem în această subrutină - a doua cerere de subrutină: RunSub. Am plasat codul nostru WMI într-o rutină separată, deși a fost posibil să plasăm scriptul WMI în rutina Window_OnLoad. Deci, de ce am creat o a doua rutină suplimentară? Este simplu: acest lucru ne va ajuta să trecem cu ușurință la crearea următorului gadget.

Crearea unui gadget care va actualiza periodic informațiile
Un gadget trebuie să fie util, altfel, de ce este nevoie? Puteți implementa multe într-un gadget caracteristici utile. Cu combinația de dimensiuni mici de cod și capacitatea de a utiliza grafică, puteți crea incredibile instrumente utile pentru a vă monitoriza rețeaua sau computerul. Vom realiza un gadget care ne va arăta RAM-ul liber al computerului. Desigur, va fi un gadget cu informații actualizate constant. Ca rezultat, ar trebui să obțineți ceva similar cu acest cod:


Gadgetul meu

corp (lățime: 120; înălțime: 40")

Sub fereastra_Onload
GetMemory

End Sub

Sub GetMemory
Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")
Pentru fiecare objItem din colItems

Următorul
End Sub



Înainte de a discuta cum funcționează acest gadget, observăm că nu afișează numele sistemului de operare instalat pe computer. De ce nu am făcut un exemplu de definire a sistemului de operare al unui computer? Credem că monitorizarea memoriei disponibile ar putea fi puțin mai realistă decât monitorizarea numelui sistemului de operare instalat.

Rutină pentru determinarea cantității curente de memorie disponibilă (rutină numită GetMemory):

Sub GetMemory
Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")
Pentru fiecare objItem din colItems
DataArea.InnerHTML = objItem.FreePhysicalMemory
Următorul
End Sub

Dar ne interesează mai mult nu subrutina GetMemory, ci subrutina Window_OnLoad:

Sub fereastra_Onload
GetMemory
iTimerID = window.SetInterval ("Obține memorie", 10000)
End Sub

Veți observa că facem două lucruri în această subrutină. În primul rând, rulăm subrutina GetMemory - aceasta pentru a ne asigura că după încărcarea gadgetului nostru, memoria disponibilă va fi afișată imediat. Al doilea lucru pe care îl facem este puțin mai interesant:
iTimerID = window.SetInterval ("Obține memorie", 10000)

Aici folosim metoda SetInterval pentru a crea un cronometru. Acest cronometru va rula rutina GetMemory la fiecare 10 secunde (10.000 milisecunde). Așa forțăm gadgetul să actualizeze automat informațiile: la fiecare 10 secunde gadgetul rulează rutina GetMemory, ceea ce înseamnă că după 10 secunde gadgetul va folosi WMI pentru a obține cantitatea actuală de memorie disponibilă și apoi afișează aceste date în corp. a gadgetului. Dacă 10 secunde este prea mult pentru dvs., schimbați parametrul 10000 cu un număr mai mic, de exemplu, numărul 5000 va face ca gadgetul să actualizeze datele la fiecare 5 secunde (5000 milisecunde). La fel, schimbarea 10000 în număr mai mare, intervalul de actualizare va fi mai lung.

Nu am spus niciodată că este o operă de artă. Dar acum că înțelegi elementele de bază ale creării gadget-urilor (gadget-urile sunt deosebit de interesante pentru administratorii de sistem), sperăm că vei crea opere de artă. În partea următoare vom vorbi despre îmbinarea elementelor grafice cu gadget-uri și multe funcții utile noi.

In sfarsit -" Teme pentru acasă„. Urmează un cod gadget un pic mai complex (subliniat puțin pe cuvânt, care face două lucruri: controlează memorie disponibilăși, de asemenea, când se face clic pe butonul Informații, se afișează în pagina Web informatii detaliate despre sistem. Inutil să spun că acest gadget nu este un exemplu al tuturor capabilităților gadgeturilor, dar exemplul vă arată gama de abilități care pot fi incluse într-un singur gadget în același timp. Iată codul real:

Nota traducatorului: Atentie, cand am salvat acest cod si am lansat gadgetul (am facut asta in Windows XP cu o bara laterala portata din build 5342), sistemul a inghetat si a trebuit sa retraduc jumatate din articol! Deci fii atent. Deși cred că acest lucru nu se va întâmpla în bara laterală originală din Windows Vista, nu am testat-o! După cod există link-uri suplimentare pe subiect.


Gadgetul meu

corp (lățime: 120; înălțime: 80)

Sub fereastra_Onload
GetMemory
iTimerID = window.SetInterval ("Obține memorie", 10000)
End Sub

Sub GetMemory
Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")
Pentru fiecare objItem din colItems
DataArea.InnerHTML = objItem.FreePhysicalMemory
Următorul
End Sub

Set objLocator = CreateObject("WbemScripting.SwbemLocator")
Setați objWMIService = objLocator.ConnectServer(".", "root\cimv2")

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_ComputerSystem")
Pentru fiecare objItem din colItems
strHTML = "Nume computer: " & objItem.Name & "
"
strHTML = strHTML & „Nume utilizator: „ & objItem.UserName & „

"
Următorul

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_OperatingSystem")
Pentru fiecare objItem din colItems
strHTML = strHTML & " Sistem de operare: " & objItem.Caption & "
"
strHTML = strHTML & " Service Pack: " & objItem.ServicePackMajorVersion & "

"
Următorul

Set colItems = objWMIService.ExecQuery("Selectați * Din Win32_Processor")
Pentru fiecare objItem din colItems
strHTML = strHTML & „Procesor: „ & objItem.Caption & „

"
Următorul

Set colItems = objWMIService.ExecQuery_
("Selectați * Din Win32_NetworkAdapterConfiguration unde IPEnabled = True")
Pentru fiecare objItem din colItems
strHTML = strHTML & objItem.Caption & "
"
Pentru fiecare strAddress din objItem.IPAddress
strHTML = strHTML & „Adresă IP: „ & strAdresă & „
"
Următorul
Următorul

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("despre:blank")
objIE.Bara de instrumente = 0
objIE.StatusBar = 0
Set objDoc = objIE.Document.Body
objDoc.InnerHTML = strHTML
objIE.Visible = Adevărat
End Sub



AppWidget, sau pur și simplu „widget”, este unul dintre cele mai impresionante și convenabile elemente ale interfeței cu utilizatorul din sala de operație sistem Android, care poate fi adăugat pe desktop pentru acces rapid la anumite funcţii ale aplicaţiei corespunzătoare. În acest articol vom afla cum să vă creați propriul widget.

Ce este un widget din punct de vedere structural? Este necesar un widget pentru a afișa anumite informații legate de aplicația căreia îi aparține sau pentru a interacționa rapid cu această aplicație direct prin intermediul desktopului. Cel mai simplu exemplu este un ceas pe un desktop. Desigur, widget-urile pot fi adăugate sau eliminate cu ușurință de pe desktop.

Widgeturile de înaltă calitate optimizează semnificativ interacțiunea cu dispozitivul. Mai mult, de foarte multe ori cele mai convenabile widget-uri ocupă cel mai puțin spațiu pe desktop și, în același timp, sunt cele mai informative. Aproape orice utilizator va încerca să plaseze pe desktopul gadgetului său Android cantitate maxima informații, și punct important este că spațiul este limitat.

Să începem să creăm widget-ul cu designul. Din fericire, Google a oferit un ghid pentru UI foarte utile pentru dezvoltatorii de software, care descriu în detaliu procesul de creare a designului și principiile de bază ale ergonomiei. Există și un separat instrucțiuni oficiale pentru crearea de widget-uri, care pot fi găsite la linkul: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html.

Un widget care ocupă o „celulă” pe desktop are o rezoluție de 80x100 pixeli în consecință, pentru a crea un widget alungit de 4 celule și o celulă înalt, aveți nevoie, respectiv, de 320x100 pixeli; Vom lua această dimensiune ca bază pentru widget-ul pe care îl creăm.

Acum widgetul trebuie desenat. În principiu, un widget poate să nu aibă nicio parte grafică și să afișeze doar text sau comenzi, fără fundal sau cadru, dar, firește, un widget frumos și plăcut pentru ochi trebuie pur și simplu să aibă un design de înaltă calitate. Deci, să desenăm fundalul. Să luăm ca bază fundalul din Ghidul UI menționat mai sus. Deschideți șablonul disponibil pentru noi în Photoshop sau altul editor graficși facem ce vrem, după care salvăm imaginea rezultată în format .png. Formatul de care avem nevoie este PNG-24, cu culoare de 8 biți și fundal transparent. Deci baza pentru widget-ul nostru este gata.

Acum să trecem la crearea părții software. Este posibil ca widgetul să nu aibă o parte software. Mai simplu spus, va fi în meniul de adăugare widget-uri, dar nu în meniul principal al aplicației. Vom crea exact acest tip de widget. Noi creăm proiect nou, iar pentru comoditate o numim astfel încât clasa principală să fie numită widget.java.

Editare AndroidManifest. xml. Declarăm widgetul nostru:

Acum să edităm widget.java. Aici trebuie să descrii cum va reacționa widget-ul diverse conditii. Clasa AppWidgetProvider are următoarele metode:

onUpdate – metoda este apelată atunci când widget-ul este creat, precum și după un timp specificat. Timpul este stabilit fișier de configurare a acestui widget. Rețineți că este folosit cel mai des.

onDeleted – metoda este executată atunci când un widget este șters de pe desktop.

onEnabled – metoda este apelată atunci când widget-ul este activat pentru prima dată. Dar dacă se adaugă un alt widget exact același, această metodă nu se mai executa.

onDisabled – metoda este executată atunci când este eliminată ultima copie widget de pe desktop. În consecință, această metodă este inversul lui onEnabled.

onReceive – metoda este apelată simultan cu toate celelalte. Adesea nu este folosit deloc.

Intră adânc în parte software Nu vom crea un widget și, prin urmare, nu vom umple exemplul nostru cu niciun handler, ci pur și simplu vom implementa toată funcționalitatea folosind Layouts. Trebuie să declarați clasa AppWidgetProvider după cum urmează:

pachet com.example.widget;

import android.appwidget.AppWidgetProvider;

widget de clasă publică extinde AppWidgetProvider(

}

În continuare, descriem widget-ul nostru - acest lucru este necesar pentru a dispozitiv mobil a înțeles cu ce avea de-a face. Pentru a face acest lucru, trebuie să creați un folder xmlîntr-un folder res. În el creăm un fișier cu numele widget_ info. xml. Deschideți fișierul creat și scrieți următorul cod în el:

Să dăm scurtă descriere parametri specificati:

minWidth – lățimea minimă necesară pentru ca widgetul să funcționeze.

minHeight – înălțimea minimă necesară pentru ca widgetul să funcționeze.

updatePeriodMillis – perioada în care widget-ul este actualizat, specificată în milisecunde. Parametrul este foarte util, deoarece după trecerea perioadei de timp specificate, este declanșată metoda onUpdate a obiectului AppWidgetProvider.

initialLayout – parametrul indică o resursă care descrie interfața widget-ului nostru.

Formula pentru calcularea dimensiunii unui widget este următoarea: (număr de celule * 74) - 2.

Să începem să descriem interfața widget-ului pe care îl creăm. Aici este util fundalul creat anterior. Importați imaginea de fundal în dosar îndreptăţibil(sau în toate cele trei foldere desenabile pentru diferite rezoluții de ecran). Într-un folder aspect creați un fișier numit widget. xml. Interfața este descrisă ca pentru Activitatea obișnuită, dar există unele limitări. Următoarele elemente sunt permise pentru utilizare:

Să creăm un LinearLayout, căruia îi vom aplica imaginea de fundal creată și vom adăuga AnalogClock de exemplu. Ceasul în sine nu se va potrivi în cadru, dar cum? exemplu clar se va descurca bine. Aşa:

Asta e practic tot. După instalarea widget-ului pe dispozitivul sau emulator Android, îl puteți instala pe unul dintre desktopurile dvs. După adăugare, vom avea în vedere următoarele.

Recent am avut nevoie să creez un gadget pentru Windows Sidebar. Nu aveam abilități în acest sens, așa că după ce am căutat puțin pe Google și am citit documentația, să începem.

Îți voi arăta imediat cu ce am ajuns.


Gadgetul va primi informații de pe site în formular xml, analizați și, de fapt, afișați. Gadgetul va verifica, de asemenea, dacă există versiuni noi și, dacă sunt prezente, refuză să funcționeze :)
Inițial, de dragul de a câștiga experiență, am vrut să scriu un gadget în întregime în VBScript (din moment ce nu mă ocupasem încă de el), dar până la urmă a trebuit să fac inserții în JavaScript.
Să trecem direct la cod. Nu voi trece în revistă întregul cod aici, voi arăta doar punctele principale. Linkul către gadgetul finit este la sfârșitul articolului.
Fișierul principal al unui gadget este manifestul acestuia – fișierul Gadget.xml. Ar trebui să fie numit exact așa și situat în rădăcina arhivei noastre (gadget-ul nu este altceva decât Arhiva ZIP cu extensia .gadget).

Vremea din Info.Denms.Ru 1.0.1232 Widget complet pentru vreme (Info.Denms.Ru)

Să ne uităm la asta mai detaliat.
Elementul trebuie să conțină o apiVersion egală cu 1.0.0 (at în acest moment), și de asemenea atributul src, ceea ce indică fisierul principal gadgetul nostru;
Permisiuni pentru gadget. Set egal cu full;
Versiunea minimă a barei laterale Windows. În prezent – ​​1.0;
Parametri - numele gadgetului, - versiunea, - informații despre autor, - link către pagina cu gadgetul, - pictograma gadgetului și vor fi afișate pe panoul gadgeturilor instalate.

Fișierul main.html este normal fișier html, nu o voi da în întregime, mă voi opri doar asupra unor puncte.
Elementul g:background este folosit pentru a seta fundalul gadgetului. Să-l facem transparent.

Gadgetul poate fi în două stări – andocat (în partea stângă a ecranului de mai sus) și dezactivat (în dreapta). Vom stoca starea actuală a gadgetului în variabilă JavaScript andocat.

Vom avea nevoie de funcția de wrapper isDocked în viitor pentru a afla starea actuală a gadgetului din VBScript (indiferent cât de mult am încercat, nu am putut implementa acest lucru în VBScript pur). Încă o notă - scripturile funcționează corect în această ordine, adică. Mai întâi descriem scripturile VBScript, apoi JavaScript.

Elementele rămase în main.html sunt prezentate elemente DIV cu poziţionare absolută. Ulterior, din scripturi le vom accesa prin id-ul lor.

CU folosind JavaScript haideți să setăm stările de andocare și dezaodata pentru gadget și, de asemenea, să specificăm fișierul de setări (main.js)

System.Gadget.onDock = redimensionare; System.Gadget.onUndock = redimensionare; System.Gadget.settingsUI = "settings.html"; System.Gadget.onSettingsClosed = SettingsClosed; andocat=0; //starea inițială a gadgetului resize(); //inițializare

După cum puteți vedea din lista de mai sus, atunci când stările gadgetului se schimbă, funcția resize() va fi apelată.

Funcția resize() ( bd = document.body.style; System.Gadget.beginTransition(); if (System.Gadget.docked) ( // stare mică bd.width=148; // setați dimensiunea gadgetului bd.height= 201 ; docked = 1 bd.background="url(images/gadget.png) no-repeat" //setează fundalul //apoi urmărește transferul de valori de la starea de andocare și repunerea la zero a elementelor; starea dezactivată document.getElementById("small_needupdate ").innerHTML = document.getElementById("big_needupdate").innerHTML document.getElementById("big_needupdate").innerHTML = "" //... ) else ( // big state bd.width=230; bd.background="url(images/gadgeth.png) no-repeat"; state document.getElementById("big_needupdate") innerHTML = document.getElementById("small_needupdate").innerHTML document.getElementById("small_needupdate").innerHTML = "" //... ) System.Gadget.ystemTransition; .Gadget.TransitionType.morph,1); )

De asemenea, puteți descrie funcția de salvare a setărilor. Gadgetul meu nu le are, dar, ca exemplu, vă voi arăta cum se face.

Funcție SettingsClosed(eveniment) ( dacă (event.closeAction == event.Action.commit) ( //alertă System.Gadget.Settings.readString("test"); ) )

ReadString – citește un șir salvat anterior, writeString, respectiv scrie.
Metode System.Gadget.beginTransition(); și System.Gadget.endTransition(); necesare pentru redimensionarea „netedă” a gadgetului. ÎN Windows Seven sunt ignorate, dar le-am lăsat totuși pentru compatibilitate inversă.

După cum am menționat mai sus, serverul ne oferă informații despre vreme în format xml.

1,7 41 ninsoare noros 87 Sud-Vest 5 -3 -1 -1 26 1 -9 41 0 …

Vom descărca și analiza xml folosind VBScript.

Sub DownloadXML2 Set objXML = CreateObject("Microsoft.XmlHttp") objXML.Open "GET", "http://info.kovonet.ru/weather.xml", True objXML.OnReadyStateChange = GetRef("objXML_onreadystatechange") objXML_onreadystatechange) objXML.setRequest „If-Modified-Since”, „Sam, 1 Jan 2000 00:00:00 GMT” objXML.Send iTimeoutID = window.SetTimeout(„mySleep”, 1000) End Sub

Funcția mySleep va verifica conexiunea noastră pentru un timeout.

Sub mySleep dacă bRespReceived = „fals”, apoi „răspunsul nu a fost încă primit iTimeout = iTimeout + 1 dacă (iTimeout > 30) apoi „timeout timerFirstRun = window.SetTimeout(„Update”, 60000) „attempt reactualizare peste un minut, „timeout nu a fost încă atins, continuați să numărați secundele iTimeoutID = window.SetTimeout(„mySleep”, 1000) end if end if End Sub

Dacă descărcarea are succes, objXML.readyState va fi egal cu patru, iar status (objXML.status) va returna valoarea 200.

Funcția objXML_onreadystatechange() If (objXML.readyState = 4) Then "msgbox objXML.statusText If (objXML.status = 200) Then bRespReceived=true SaveFile(objXML.responseText) else =(timerFirSet00", "Timer" timer) încercați să actualizați din nou într-un minut Funcția End If End If End

În acest caz, salvați fișierul într-un folder temporar Windows

Funcție SaveFile(what) Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Dim fso1, tf Set fso1 = CreateObject("Scripting.FileSystemfObject") = fso1.CreateTextFile(filepath, True, True) "rewrite, unicode tf.Write(what) tf.Close ParseXML End Function

Și începem să analizăm fișierul.

Sub ParseXML Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.async="Docfalse" xml. load(filepath) "principal node - în cazul nostru Set currNode = xmlDoc.documentElement "zile ale săptămânii - Set dayNode = currNode.firstChild When Not dayNode Is Nothing Set currNode = dayNode.firstChild While Not currNode Este Nimic dacă currNode.parentNode. getAttribute( "id") = "azi" apoi "azi dacă currNode.nodeName = "temp", apoi document.getElementById(prefix+"maintemp").innerHTML = currNode.childNodes(0).text+Chr(176) "afișează elementele rămase Altfel „nu astăzi, afișați mai fin”... end If Set currNode = currNode.nextSibling Wend Set dayNode = dayNode.nextSibling Wend End Sub

Verificarea versiunilor noi se face exact în același mod.
Nu uitați să creați un fișier de setări - settings.html, a cărui existență am anunțat-o mai sus.

Setări

Asta e tot, de fapt. M-as bucura daca articolul meu (primul :)) ar fi de folos cuiva.

Surse folosite.

Gadget-urile (Widget-uri) sunt una dintre cele mai controversate caracteristici ale unui sistem de operare cu ferestre. Unii utilizatori le instalează și nici nu își imaginează cum își pot folosi pe deplin computerul fără ajutorul lor. Alții nici nu știu ce este și se descurcă cu succes. Există gadget-uri pentru Windows 10, ce sunt și cum să le instalăm Vom discuta în detaliu răspunsul la aceste întrebări mai târziu în articol?

De ce au dispărut widget-urile din Windows 10?

Odată cu sosirea primei versiuni 8 și apoi a zecea, această problemă a fost rezolvată deoarece Microsoft a decis să elimine complet funcția din sistem din anumite motive:

  • Ca inutil. Un accent mare în noile sisteme a fost pus pe plăcile live, care, în anumite privințe, funcționează la fel ca și widget-urile. Ele afișează informatii utile, sunt actualizate în timp real și arată mai relevante;
  • Din motive de securitate. Aici dezvoltatorii, mai degrabă, au spus fără niciun motiv anume. Pentru că este greu de imaginat că o componentă atât de mică a sistemului ca un widget poate influența foarte mult securitatea, iar părți din codul său pot fi folosite de atacatori. Deși acest lucru ar putea fi afectat performanța. Puteți verifica acest lucru returnând funcționalitatea și .

Acum gadgeturile pentru Windows 10 nu pot fi găsite pe site-ul oficial.

Cu toate acestea, nu mai există widget-uri și sunt date motivele. Majoritatea utilizatorilor pur și simplu au fost de acord și au început să folosească plăci, dar există și cei care nu vor să se priveze de o oportunitate atât de convenabilă și s-au întrebat cum să instaleze gadgeturi pe Windows 10. De dragul lor, am încercat dezvoltatori terți, care au creat software care copiază funcționalitatea widget-urilor cât mai aproape posibil și vă spune cum să instalați gadgeturi pe desktop în Windows 10.

Cum să instalați gadgeturi pe desktop Masa Windows 10 folosind programele 8GadgetPack
  • Centru media;
  • Movie Maker;
  • .NetFramework;
  • Versiuni DirectX 9 și multe altele.

Este posibil ca, scotocind pe Internet, să găsiți și alte soluții mai puțin cunoscute, dar este necesar, având în vedere că cele descrise mai sus vă permit să returnați funcționalitatea care era în 7 și chiar mai mult.

Dacă căutați modalități de a elimina gadgeturi pe Windows 10, atunci acest lucru se face prin adăugarea lor la sistemul de operare.

Pași de bază

Iată câțiva pași de bază atunci când creați și plasați gadgeturi.

  • Creați o specificație de gadget în editor de text, apoi salvați-l pe un server web public.
  • Adăugați obiectul gadget într-un container, de exemplu iGoogle sau Orkut. Container este o aplicație sau un site web pe care gadgeturile le pot realiza.
  • Structura gadgetului

    După ce înțelegeți cum să modificați și să publicați gadgeturi, puteți începe să includeți funcții mai avansate în specificațiile gadgetului. Specificația XML pentru gadget constă din 3 părți principale.

    • Secțiunea de conținut. Secțiunea este locul unde are loc adevărata activitate a gadgetului tău. Aici ar trebui să indicați tipul de gadget, logica de programare și adesea elemente HTML care îi determină aspectul.
    • Setări utilizator. Secțiunea definește funcțiile care oferă utilizatorilor posibilitatea de a alege setările gadgetului. De exemplu, într-un gadget salut personal poate exista un câmp de text în care utilizatorii ar trebui să-și indice numele.
    • Setări gadget. O secțiune a fișierului XML specifică caracteristicile gadgetului (de exemplu, numele, autorul, dimensiunea preferată etc.).

    Când creați un gadget, ar trebui să începeți cu secțiunea.

    Definirea continutului

    Secțiunea reprezintă „creierul” gadgetului. O secțiune definește tipul de conținut și conține conținutul în sine sau link-uri către conținut extern. O secțiune este un loc unde atributele gadget și setări personalizate sunt combinate cu logica de programare și formatarea informațiilor într-un gadget funcțional.

    Cel mai simplu mod creați un gadget - pur și simplu plasați HTML (și eventual JavaScript sau Flash) în secțiune. Dezvoltatorii web cu experiență pot citi despre alte opțiuni de control al accesului, gazduire la distanta, utilizarea altor limbaje de scripting și multe altele. Iată un exemplu simplu de gadget. Acest gadget conține o fotografie pe care trebuie să faceți clic pentru a deschide albumul foto noua pagina HTML:

    Definirea setărilor personalizate

    Unele gadgeturi ar trebui să permită utilizatorilor să introducă informații despre ei înșiși. De exemplu, un gadget pentru jocuri poate accepta introducerea unui nivel de dificultate preferat. Secțiunea setări utilizator () a fișierului XML oferă câmpuri de introducere informații despre utilizator, care apar în interfața utilizatorului care a lansat gadgetul. Setările utilizatorului sunt salvate permanent.

    De exemplu, în acest gadget, salutul personal se schimbă în funcție de ora din zi. În acest caz, utilizatorii pot furniza următoarele informații.

    • Numele folosit în salut. Acest nume este scris și în linia de titlu.
    • Culoare de fundal.
    • Trebuie să arăt o fotografie?

    Iată cum arată gadgetul atunci când utilizatorul face clic pe Editare pentru a modifica setările utilizatorului:

    În caietul de sarcini format XML controalele sunt definite în interfața gadgetului inclus, care sunt responsabile pentru setările utilizatorului.





    Vă rugăm să rețineți următoarele:

    Iată întregul gadget, împreună cu codul JavaScript care afișează textul de bun venit pentru gadget.

    Pentru o listă de atribute, consultați .

    Setările personalizate pot fi apelate de pe gadgetul dvs. folosind API-uri JavaScript speciale, de exemplu:

    var prefs = gadgeturi noi.Prefs();

    var someStringPref = prefs.getString("StringPrefName"); var someIntPref = prefs.getInt("IntPrefName"); var someBoolPref = prefs.getBool("BoolPrefName");

    Lista cu toate

    Funcții JavaScript vezi in.Înlocuire variabilă pentru setările personalizate vezi in. Puteți utiliza înlocuirea variabilă a formatului __UP_ userpref __ în secțiuni sau unde

    se potrivește cu numele atributului Customizing. După lansarea gadgetului

    • valoare șir setarea personalizată corespunzătoare este înlocuită cu variabila, fără traducere. De exemplu, în acest fragment, valoarea de rulare furnizată de utilizator pentru setarea personalizată a proiectelor este înlocuită cu __UP_projects__ în linia title_url: Mai jos este un ghid general pentru utilizarea înlocuirii variabilelor pentru setările personalizate. Pentru atributul titlu folosiți __UP_.
    • nume setarea personalizată corespunzătoare este înlocuită cu variabila, fără traducere. De exemplu, în acest fragment, valoarea de rulare furnizată de utilizator pentru setarea personalizată a proiectelor este înlocuită cu __UP_projects__ în linia title_url: Mai jos este un ghid general pentru utilizarea înlocuirii variabilelor pentru setările personalizate. Pentru atributul titlu folosiți __UP_.
    • __. Acest setarea personalizată corespunzătoare este înlocuită cu variabila, fără traducere. De exemplu, în acest fragment, valoarea de rulare furnizată de utilizator pentru setarea personalizată a proiectelor este înlocuită cu __UP_projects__ în linia title_url: tradus în HTML
    • Pentru atributul title_url utilizați __UP_ În secțiunea HTML, utilizați __UP_ __. Acesta este tradus în HTML.
    ÎN

    Cod JavaScript în secțiune, utilizați funcția gadgets.Prefs(). Partajarea setărilor utilizatorului

    Folosind funcția shareable-prefs, puteți oferi mai multor utilizatori posibilitatea de a schimba setările gadgetului. În acest fel, utilizatorii pot partaja gadgetul și pot vedea cine a schimbat ce. De exemplu, membrii familiei pot partaja un gadget cu o listă de cumpărături și fiecare persoană poate adăuga produsele preferate. Datele despre setările utilizatorului fac parte din starea gadgetului stocată pe iGoogle.

    Mai multe informații

    ]]>

    despre setările personalizate pot fi găsite în . Pentru ca setările personalizate ale unui gadget să fie partajate între mai mulți utilizatori, gadgetul trebuie să conțină o linie în secțiune. De exemplu, acest obiect gadget folosește o setare personalizată pentru a completa o listă de cumpărături: Iată codul gadgetului:

    Adăugând un obiect gadget care acceptă setările de partajare la iGoogle, îl puteți face disponibil pentru partajarea după cum urmează.

    Pasul 2: Dacă utilizați Gmail, selectați prietenii cărora doriți să partajați gadgetul sau introduceți adresele lor de e-mail.

    Pasul 3: decideți dacă prietenii pot edita conținutul gadgetului sau îl pot vizualiza numai pe paginile lor iGoogle.

    • Când selectați Vizualizați și editați conținut, prietenii vor putea edita setările personalizate ale gadgetului. Modificările acestora se vor reflecta în versiunea dvs. a gadgetului și în toate celelalte versiuni comune ale acelui gadget.
    • Dacă selectați Vizualizare conținut, prietenii nu vor putea modifica atât gadgetul în sine, cât și copiile acestuia propriile pagini. Numai dvs. puteți schimba gadgetul, iar modificările dvs. vor fi aplicate tuturor versiunilor comune ale gadgetului.

    Faceți clic pe Trimiteți invitații. Prietenii vor primi un e-mail de la dvs. prin care îi va invita să adauge gadgetul pe paginile lor iGoogle.

    Prietenii cărora le permiteți să modifice un gadget pot edita setările personalizate și pot publica modificări la toate versiunile partajate ale gadgetului.

    Definirea setărilor gadgetului

    O secțiune a fișierului XML specifică caracteristicile gadgetului (de exemplu, numele, autorul, dimensiunea preferată etc.). De exemplu: