„Internet Explorer 8“ papildukų kūrimas

„Internet Explorer 8“ papildukų kūrimas

Pradžioje, tiems, kurie dar nežino, norėčiau pranešti apie Microsoft organizuojamą papildukų („addons“), skirtų „Internet Explorer 8“ naršyklei, konkursą. Microsoft Lietuva organizuoja konkursą, kurio metu bus apdovanoti trys autoriai, sukūrę populiariausius lietuviškus IE8 papildukus. Konkurso prizai tikrai šaunūs: kelionė į „Las Vegas“, telefonas su „Windows Mobile“ (o galbūt „Windows Phone 7“) ir „XBOX 360“ žaidimų kompiuteris. Kadangi pats dalyvauju šiame konkurse (būsiu dėkingas, jei prabalsuosite už mano kurtą „Wikipedia“ papilduką), nusprendžiau šiek tiek papasakoti apie tai, kaip kuriami IE8 greitintuvai („accelerators“).

O kurti šiuos spartintuvus tikrai nėra sudėtinga. Pilnai funkcionuojančiam greitintuvui užtenka mažiau nei 20 XML eilučių (maniškis „Wikipedia“ greitintuvas sudarytas iš 19 eilučių). Taigi, kaip jau supratote, greitintuvai aprašomi XML'u, vienam *.xml faile. Nusprendžiau, jog lengviausia greitintuvų kūrimą bus paaiškinti pateikiant savo kurto „Wikipedijos“ greitintuvo kodą ir pakomentuoti visą jo struktūrą:

<?xml version="1.0" encoding="UTF-8"?>
<os:openServiceDescription
    xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
    <os:homepageUrl>http://www.winblog.lt</os:homepageUrl>
    <os:display>
        <os:name>Ieškoti Wikipedijoje</os:name>
        <os:icon>http://lt.wikipedia.org/favicon.ico</os:icon>
        <os:description>Raskite straipsnį apie pažymėtą terminą ar frazę Wikipedia.lt puslapyje</os:description>
    </os:display>
    <os:activity category="Define">
        <os:activityAction context="selection">
            <os:preview action="http://www.winblog.lt/accelerator.php?query={selection}" />
            <os:execute action="http://www.winblog.lt/accelerator.php" method="get">
                <os:parameter name="query" value="{selection}" type="text" />
                <os:parameter name="click" value="1" type="text" />
            </os:execute>
        </os:activityAction>
    </os:activity>
</os:openServiceDescription>

Taigi, pirmoje eilutėje, kaip ir įprasta visiems XML dokumentams, nurodoma XML versija ir koduotė (rekomenduojama – UTF-8). Antroji bei trečioji eilutės nurodo, jog bus naudojamas „OpenService“ formatas. Praktiškai nei šių, nei pirmosios eilutės, kuriant greitintuvą Jums modifikuoti nereikia (tačiau pašalinti jų taip pat negalite – šie parametrai privalomi greitintuvo veikimui).

Nuo ketvirtosios eilutės pradedame aprašinėti konkretų mūsų greitintuvą. Šioje eilutėje, žyme os:homepageUrl nurodomas puslapio adresas. Puslapis (domenas) turi būti nurodytas tas, kuriame talpinamas greitintuvas (būtent todėl manajame greitintuve čia nurodyta www.winblog.lt, o ne www.wikipedia.lt). Šis parametras yra privalomas.

5 – 9 eilutės apsuptos privaloma os:display žyme. Čia nurodome informaciją, kuri bus atvaizduojama vartotojui diegiant ir naudojant greitintuvą. 6-oje eilutėje, žyme os:name nurodome greitintuvo pavadinimą. Jis bus rodomas vartotojui paspaudus ant greitintuvų mygtuko, visų greitintuvų sąraše. Šią žymę nurodyti būtina. 7-oje eilutėje nurodomas kelias iki piktogramos, kuri bus vaizduojama greta Jūsų papilduko pavadinimo, papildukų sąraše. os:description žymėje (8-oji eilutė) galima trumpai aprašyti savo kuriamą greitintuvą. Aprašymas bus rodomas diegiant papilduką. Tiek aprašymas, tiek piktograma yra neprivalomi, tad juos nurodyti nebūtina.

Nuo 10-osios eilutės pradedame aprašinėti mūsų greitintuvo veikimą. Pradžioje, žymės os:activity parametru category, nurodome mūsų greitintuvo kategoriją. Galimos kategorijos yra šios:

  • add – žymės/komentaro pridėjimas
  • blog – pažymėto turinio kėlimas į tinklaraščius
  • define – informacija apie pažymėtą tekstą/frazę
  • map – pažymėto adreso paieška žemėlapyje
  • translate – pažymėto teksto vertimas

Kadangi mano kurtas greitintuvas yra skirtas informacijos apie pažymėtą žodį/tekstą radimui, pasirinkau Define kategoriją. 12-oje eilutėje esančios os:activityAction žymės parametras context nurodo, kokiame kontekste veiks mūsų greitintuvas. Pasirinkimai galimi trys:

  • document – visas puslapio turinys
  • selection – pažymėtas tekstas (naudojamas pagal nutylėjimą)
  • link – pažymėta nuoroda

Kadangi man reikalinga informacija apie konkretų pažymėtą tekstą, pasirinkau antrąjį variantą (teoriškai, galėjau jo ir nenurodinėti, kadangi selection naudojamas pagal nutylėjimą). Tiek ši, tiek ankstesnė (os:activity) žymė yra privalomos.

12-oje eilutėje nurodome (tai daryti nebūtina) veiksmą, kuris bus vykdomas, užvedus pelės žymeklį ant mūsų greitintuvo, t.y parametru action nurodomas puslapio, kuris bus užkraunamas nedideliame peržiūros lange, adresas. Gali kilti klausimas dėl adrese nurodyto laukelio {selection}. Tokie laukeliai veikia tarsi kintamieji, vietoj kurių yra įstatomos reikšmės. Pilnas sąrašas galimų „kintamųjų“:

  • {documentTitle} – puslapio antraštė
  • {documentDomain} – puslapio adresas (antro lygio domenas)
  • {documentHost} – pilnas „host'o“ pavadinimas
  • {selection} – pažymėtas tekstas (prieinamas tik kuomet turim context reikšmę lygią „selection“)
  • {link} – pažymėtos nuorodos adresas (tik tuomet, kai context="link")
  • {linkText} – pažymėtos nuorodos tekstas (tik tuomet, kai context="link")
  • {linkRel} – pažymėtos nuorodos „rel“ parametras, jei jis nurodytas (tik tuomet, kai context="link")
  • {linkType} – nuorodos tipas (tik tuomet, kai context="link")
  • {linkDomain} – pažymėtos nuorodos antro lygio domenas (tik tuomet, kai context="link")
  • {linkHost} – pažymėtos nuorodos „host'o“ pavadinimas (tik tuomet, kai context="link")

13–oje eilutėje, parametru action nurodome puslapio, į kurį, paspaudus papilduko mygtuką , bus siunčiama užklausa, adresą. Parametru method nurodomas užklausos metodas: post arba get. Kuomet planuojama perduoti daugiau turinio, galbūt geriau būtų naudoti post metodą. Šios žymės viduje, žymomis os:parameter (14 – 15 eilutės) nurodome duomenis, kuriuos perduosime nurodytam puslapiui. Kiekviena iš šių žymių, turi tris parametrus:

  • name – užklausos parametro pavadinimas
  • value – parametro reikšmė
  • type – parametro tipas: text arba html (neprivalomas)

Nurodant šių parametrų reikšmes taip pat galima naudoti „kintamuosius“, aprašytus aukščiau. Man šiuo atveju prireikė dviejų kintamųjų: vieno (query), su ieškomu žodžiu/fraze, ir kito (query), pagal kurį galėsiu atskirti ar greitintuvas kviečiamas jį paspaudus (šiuo atveju) ar užvedus ant jo pelės žymeklį.

Viskas – mūsų greitintuvo, kurį galima įdiegti į IE8 naršyklę, failas sukurtas. Belieka įgyvendinti visą logiką serverio pusėje, žymėse os:preview ir os:execute nurodytuose adresuose.

Norėdami įdiegti savo sukurtą greitintuvą, sukurkite tuščią HTML dokumentą arba papildykite jau turimą žemiau pateiktu kodu:

<button onclick="window.external.AddService('http://www.example.com/activity.xml')">Pridėti spartintuvą</button>

Na, tai lyg ir viskas. Tikiuosi, jog viskas pasirodė tikrai nesudėtinga. Beje, jeigu planuosite dalyvauti įrašo pradžioje minėtam konkurse – sėkmės!

Nuorodos:

Susiję įrašai:

  1. Lietuviškų papildukų konkurso nugalėtojai keliaus į Las Vegą Šią savaitę „Microsoft“ paskelbė tris mėnesius Lietuvoje vykusio interneto naršyklės...
  2. „Internet Explorer 9“ straipsniai puslapių kūrėjams ir administratoriams Laukiant naujosios „Internet Explorer“ versijos, parašėme keletą straipsnių, kurie pagelbės...
  3. „Internet Explorer 9“ naršyklės galutinė versija – jau kitą savaitę Kovo 14-osios vakare (JAV Vakarų pakrantės laiku) pasaulyje pasirodys galutinė...
  4. Pasirodė galutinė “Internet Explorer 9″ versija Programinės įrangos kūrėja bendrovė „Microsoft“ šiandien paskelbė apie naršyklės „Internet Explorer...
  5. Naršyklė „Internet Explorer 9“ veikia jau 93 kalbomis Nuo šiandien naujos „Microsoft“ interneto naršyklės „Internet Explorer 9“ sąsaja pasipildė...
Topix Rokit Twitter Facebook Digg Delicious Stumbleupon

Kolkas komentarų nėra. Palikite komentarą pirmasis!

Palikti atsakymą