Dajbych.net


Internet Explorer JavaScript API

, 6 minut čtení

In­ter­net Ex­plo­rer 9 přistu­puje k we­bové stránce více jako k apli­kaci. Stránku lze snadno přip­nout na hlavní pa­nel, jde jí po­u­žít ve funkci Aero Snap, dají se při­dat vlastní úlohy do Jump Listu, ikonu připnuté stránky je možné pře­krýt druhou iko­nou a náhled stránky se dá do­pl­nit o tla­čítka, na je­jichž stisk­nutí může stránka ade­kvátně re­a­go­vat. Tento člá­nek po­pi­suje me­tody, které sou­vi­sejí s uži­va­tel­ským roz­hra­ním.

Na ně­které funkce jsou meta tagy krátké a lze je vyu­žít jen po­u­ži­tím Ja­vaScrptu. Me­toda je uve­dena pod verzí IE, ve které byla uve­dena. Ostatní me­tody lze nalézt na příslušné stránce v MSDN Lib­rary.

Ač to ne­byl pů­vodní zá­měr, na we­bo­vou stránku se dnes jde dí­vat stejně jako na desk­to­po­vou apli­kaci. Místo XAML máme HTML, in­ter­pre­tuje se Ja­vaScript ni­koli MSIL a ob­jekt win­dow na­hra­zuje .NET Fra­mework. Stejně jako jsou ně­které funkce v .NET Fra­meworku ma­po­vány na vo­lání Win32 API, tak i v ja­vascrip­tový ob­jekt win­dow.ex­ter­nal ma­puje své me­tody na funkce In­ter­net Ex­plo­reru a Win­dows Shell.

Internet Explorer 9

Site Mode

Stránku lze ve Win­dows 7 přip­nout na hlavní pa­nel stejně jako desk­to­po­vou apli­kaci. Může to pro­vést uži­va­tel pře­ta­že­ním zá­ložky do hlav­ního pa­nelu, nebo ja­vascrip­tové vo­lání. Z dů­vodů stej­ných jako u me­tody win­dow.open musí být toto vo­lání v ob­služné ru­tině udá­losti click.

function addWebApp() { try { window.external.msAddSiteMode(); } catch (ex) { } } window.onload = function() { document.addEventListener('mssitemodeinstalled', function() { // stránka byla připnuta na hlavní panel }, false); } element.addEventListener('click', addWebApp,false);

Připnutá stránka může vyu­žít další funkce s tím spo­jené. Nej­prve je však třeba zjis­tit, jestli je­jich vo­lání ne­vy­volá vý­jimku:

function testSiteMode() { try { return window.external.msIsSiteMode(); } catch (ex) { return false; } }

Po­kud chce stránka upo­zor­nit uži­va­tele na ně­ja­kou dů­le­ži­tou udá­lost, má mož­nost roz­b­li­kat ikonu na hlav­ním pa­nelu:

window.external.msSiteModeActivate();

Na hlav­ním pa­nelu se zob­razí ikona ve­li­kosti 32x32. Ikona vlevo od na­vi­gač­ních tla­čí­tek má ve­li­kost 24x24. Ikona v zá­ložce a vlevo od URL má ve­li­kost 16x16. Po­kud ikona webu nemá verzi ve­li­kosti 32x32, je na hlav­ním pa­nelu zob­ra­zena ikona ve­li­kosti 16x16 na bílém po­zadí.

Overlay Icon

Hlavní ikonu lze pře­krýt další iko­nou, na­pří­klad bě­hem ča­sově ná­roč­ného vyhle­dá­vání.

window.external.msSiteModeSetIconOverlay('search.ico');

K od­stra­nění pře­kryvné ikony slouží funkce:

window.external.msSiteModeClearIconOverlay();

Jump List task

Místní nabídka ikony webu může být roz­šířena o vlastní po­ložky. Je­jich po­čet je ome­zen na 20. K jejímu vy­tvo­ření slouží tři me­tody:

window.external.msSiteModeCreateJumplist('Poslední články'); window.external.msSiteModeAddJumpListItem('Článek', 'clanek.htm', 'icon.ico'); window.external.msSiteModeShowJumpList();

Thumbnail Button

Náhled stránky může být do­pl­něn až o 6 tla­čítek s li­bo­vol­nou iko­nou. Nej­prve je třeba při­hlá­sit se k od­běru udá­losti, která na­stane, po­kud uži­va­tel na tla­čítko klikne:

document.addEventListener('msthumbnailclick', onButtonClicked, false);

Ná­sledně se za­re­gis­truje tla­čítko a za­volá se po­kyn k jeho zob­ra­zení:

var myBtnId = window.external.msSiteModeAddThumbBarButton('icon.ico', 'Tool Tip'); window.external.msSiteModeShowThumbBar();

A ko­nečně obslužná ru­tina. Ta může vy­pa­dat ně­jak takto:

function onButtonClicked(e) { switch (e.buttonID) { case myBtnId: // uživatel klikl na tlačítko s ikonou icon.ico break; } }

Tracking Protection Lists

Jedná se o se­znam strá­nek, je­jichž ob­sah pro­hlí­žeč blo­kuje. URL, které se mají blo­ko­vat, po­pi­sují re­gulární výrazy. V ostat­ních pro­hlí­že­čích se této funkci výstižně říká Ad­Block. Se­znam je ve for­mátu RSS, takže jej pro­hlí­žeč může prů­běžně ak­tua­li­zo­vat. Ne­dělá to však čas­těji, než jed­nou za tý­den. K při­dání se­znamu fil­trů slouží tato funkce:

window.external.AddInPrivateFilteringList('http://adblock.dajbych.net/tpl.xml');

Internet Explorer 8

InPrivate

Takto jde zjis­tit, zda uži­va­tel po­u­žívá ano­nymní re­žim:

var inPrivate = window.external.InPrivateFilteringEnabled();

Web Slice

Web Slice, což je jakýsi výstři­žek stránky, se do pa­nelu ob­líbe­ných po­lo­žek dá při­dat ná­sle­dovně:

window.external.AddToFavoritesBar('page.htm#slice', document.title, 'slice');

Informační kanály

In­ter­net Ex­plo­rer může zob­ra­zo­vat in­for­mační ka­nál jako ná­zev stránky v pa­nelu ob­líbe­ných po­lo­žek. Ná­zev je do­pl­něn o po­čet ne­pře­čte­ných zpráv. Po klik­nutí na něj se zprávy zob­razí.

window.external.AddToFavoritesBar('feed.xml', document.title, 'feed');

Vykreslovací režim

In­ter­net Ex­plo­rer 9 má už 4 vy­kres­lo­vací re­žimy. Ke zjiš­tění který z nich je po­u­žit pro ak­tuální stránku slouží vlast­nost do­cu­ment­Mode. Nabývá hod­not 5, 7, 8 a 9 podle čísla verze, ze které je po­u­žit její nej­no­vější vy­kres­lo­vací re­žim.

Internet Explorer 7

Search Provider

Search Pro­vi­der je ná­hrada za Win­dows Search As­sistant. Jde o po­sky­to­va­tele výsledků hle­dání na webu. In­ter­net Ex­plo­rer to­hoto po­sky­to­va­tele po­u­žívá, po­kud uži­va­tel vyhle­dává přímo po­mocí pro­hlí­žeče. Lze ho při­dat vo­lá­ním me­tody, jejíž pa­ra­metr uka­zuje na sou­bor se stro­jově či­tel­ným ná­vo­dem, jak má pro­hlí­žeč vyhle­dá­vač po­u­žít.

window.external.AddSearchProvider('search.xml');

Activity Provider

Acti­vity Pro­vi­der, často zvaný spíše jako ak­ce­le­rá­tor, má na sta­rosti zpra­co­vání ozna­če­ného textu. Uži­va­tel na­pří­klad označí ad­resu a ak­ce­le­rá­tor je scho­pen jí na mapě uká­zat. Do pro­hlí­žeče se přidává volá­ním me­tody, která uka­zuje na sou­bor se stro­jově či­tel­ným ná­vo­dem, jak má pro­hlí­žeč ak­ce­le­rá­tor po­u­žít.

window.external.AddService('accelerator.xml');

Internet Explorer 6

Vykreslovací režim

In­ter­net Ex­plo­rer má dva vy­kres­lo­vací re­žimy – Quirks a Stan­dards. Který z nich je právě po­u­ží­ván ob­jas­ňuje vlast­nost com­pat­Mode. Nabývá hod­not Back­Com­pact pro Quirks a CSS1Com­pact pro Stan­dards re­žim.

Internet Explorer 4

Oblíbené položky

Za­vo­lá­ním této me­tody lze na­bá­dat uži­va­tele, aby si ulo­žil we­bovou stránku do ob­líbe­ných po­lo­žek:

window.external.AddFavorite(location.href, document.title);