V tomto článku se vám pokusím přiblížit funkci a tvorbu widgetů pro internetový prohlížeč Opera.
Úvod
Widgety [vidžity] (u nás nazývané jako pomůcky) jsou s Operou spjaty už od její deváté verze. Widgety jsou malé aplikace, které mohou běžet mimo okno prohlížeče. Je to vlastně interaktivní webová stránka, která vám může přidat chybějící funkci v prohlížeči nebo ji vylepšit, popřípadě zkrátit dlouhou chvíli ve formě her.
Widgety pro Operu najdete na oficiálních stránkách společnosti Opera ASA a to na http://widgets.opera.com/, kde najdete více jak 1 200 (ke dni 28. 7. 2007) těchto pomůcek.
Tvorba widgetů
Jestli chcete vědět, jak takový widget vytvořit, můžete si přečíst oficiální návod na komunitním portále Opery. Samozřejmě v angličtině. Pro ty, co neumí anglicky, se tento problém pokusím trochu nakousnout. Předpokládám, že alespoň trochu ovládáte HTML, XML, CSS, popřípadě JavaScript. Pokud ne, doporučuji vám některý z našich kurzů.
Widget se skládá nejméně ze dvou souborů. Jsou jimi soubory index.html
a konfigurační soubor config.xml
. Tyto soubory mají stejnou strukturu, jako byste psali webové stránky. A jak bývá zvykem u všech kurzů tohoto typu, prvním programem je Hello World! Tím také začneme. Pro začátek jsem použil kódy z my.opera.com.
Vytvoříme si soubor index.html
a vytvoříme v něm následující obsah:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
Soubor config.xml
bude vypadat takto:
<?xml version="1.0" encoding="utf-8"?>
<widget>
<widgetname>Hello World!</widgetname>
<description>
This is the very first widget written!
</description>
<width>500</width>
<height>300</height>
<author>
<name>John Doe</name>
<link>http://acme-widget.example.com</link>
<organization>Acme Examples, inc.</organization>
</author>
<id>
<host>example.com</host>
<name>HelloWorld</name>
<revised>2006-01</revised>
</id>
</widget>
Tuto základní strukturu by měl obsahovat každý widget. Další informace o konfiguračním souboru můžete najít na stránkách Opery v článku Widget information file syntax. Widget si můžete prohlédnout spuštěním souboru config.xml
. Dostaneme toto:
Toto je první widget Hello World!. Můžete s ním libovolně pohybovat, ale musíte kliknout přesně na některé písmeno. Vypneme ho přes menu Pomůcky → Správce pomůcek → Zavřít
. Nebo na něj klikneme pravým tlačítkem a vybereme Zavřít. Pouhý text není ale dobře použitelný. Widgety si lze libovolně ostylovat pomocí kaskádových stylů (CSS). Soubor index.html
pak může vypadat takto:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" type="text/css" href="helloworld.css">
</head>
<body>
<div id="frontview">
<div class="top">
<p>Hello World!</p>
</div>
</body>
</html>
Poté si samozřejmě musíme vytvořit soubor kaskádových stylů helloworld.css
. Ten si můžete upravit sami, pokud pokud máte potřebné znalosti. V mém případě vypadá takto:
body {
width: 454px;
margin: 0;
padding: 0;
color: white;
background: transparent url(pozadi.PNG) scroll no-repeat top left;
}
div.top {
padding: 45px 0 0 45px;
width: 454px;
height: 100px;
}
Po spuštění souboru config.xml
se nám otevře toto:
Na začátku jsem psal o JavaScriptu. Ten se samozřejmě také může na widgetu objevit. Pomocí JavaScriptu můžeme našemu widgetu vdechnout „život“. Na ukázku předvedu digitální hodiny. Ty není problém naprogramovat a na Internetu je plno takového kódu zdarma ke stažení. Samozřejmě můžete použít i něco jiného. Kód na hodiny vypadá nějak takto:
<script language="JavaScript">
sekundy = 0;
hodiny = 0;
minuty = 0;
function cas(){
ted = new Date();
hodiny = ted.getHours();
minuty = ted.getMinutes();
sekundy = ted.getSeconds();
hodinky.innerHTML = (hodiny + " : " + minuty + " : " + sekundy);
setTimeout('cas()', 990);
}
</script>
Tento kód vložte do souboru index.html
mezi tagy <head></head>. Samozřejmě je lepší zapsat javascriptový kód do externího souboru pro lepší přehlednost. Mezi tagy <body></body> musíme ještě zapsat to, co spouští ony hodiny:
<script language="JavaScript">
cas();
</script>
V mém případě dostaneme toto:
Tak, to je konec mého příkladu, ale možností widgetů určitě ne. Pokud chcete vědět více, odkážu vás na oficiální návod. Na konec ještě jedna připomínka. Pokud nechcete začít psát úplně od začátku, můžete si stáhnout předpřipravený základ.
Bezpečnost
Jak jsem již psal, widget je interaktivní webová stránka, takže k němu Opera přistupuje jako k ostatním stránkám. Proto vás možná napadne otázka, jak je to s bezpečností. Většina widgetů obsahuje JavaScript, který může být potenciální hrozbou. Opera je však s bezpečností na velmi dobré úrovni, proto žádné větší riziko nehrozí. Budete-li stahovat widgety z oficiálních stránek, troufám si říct, že nehrozí vůbec žádné riziko.
Závěrem
Widgety nejsou žádnou novinkou, přesto vám mohou zpříjemnit život a doufám, že vám tento návod trochu pomohl pochopit funkci a kostru widgetů pro Operu.
- http://widgets.opera.com/
- http://my.opera.com/community/dev/widgets/
- http://widgets.opera.com/widgetize/start