Dajbych.net


Internet Explorer JavaScript API

, 5 minut čtení

In­ter­net Ex­plorer 9 přis­tupuje k we­bové stránce více jako k ap­likaci. Stránku lze snadno přip­nout na hlavní panel, jde jí použít ve funkci Aero Snap, dají se při­dat vlastní úlohy do Jump Listu, ikonu přip­nuté stránky je možné překrýt druhou ikonou a náh­led stránky se dá do­pl­nit o tlačítka, na je­jichž stisknutí může stránka adekvátně reago­vat. Tento článek popisuje me­tody, které sou­visejí s uži­va­tel­ským rozhraním.

Na něk­teré funkce jsou meta tagy krátké a lze je využít jen použitím JavaScrptu. Me­toda je uve­dena pod verzí IE, ve které byla uve­dena. Ostatní me­tody lze nalézt na přís­lušné stránce v MSDN Li­brary.

Ač to nebyl původní záměr, na we­bovou stránku se dnes jde dí­vat ste­jně jako na desk­topovou ap­likaci. Místo XAML máme HTML, in­ter­pre­tuje se JavaScript nikoli MSIL a ob­jekt win­dow nahrazuje .NET Frame­work. Ste­jně jako jsou něk­teré funkce v .NET Frame­worku mapovány na volání Win32 API, tak i v javascrip­tový ob­jekt win­dow.ex­ter­nal ma­puje své me­tody na funkce In­ter­net Ex­ploreru a Win­dows Shell.

Internet Explorer 9

Site Mode

Stránku lze ve Win­dows 7 přip­nout na hlavní panel ste­jně jako desk­topovou ap­likaci. Může to provést uži­va­tel pře­tažením záložky do hlavního pan­elu, nebo javascrip­tové volání. Z důvodů ste­jných jako u me­tody win­dow.open musí být toto volání v ob­s­lužné rutině 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řip­nutá stránka může využít další funkce s tím spo­jené. Ne­jprve je však třeba zjis­tit, jestli je­jich volání nevyvolá výjimku:

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

Pokud chce stránka upo­zor­nit uži­vatele na ně­jakou důleži­tou událost, má možnost rozb­likat ikonu na hlavním pan­elu:

window.external.msSiteModeActivate();

Na hlavním pan­elu se zo­brazí ikona ve­likosti 32x32. Ikona vlevo od nav­i­gačních tlačítek má ve­likost 24x24. Ikona v záložce a vlevo od URL má ve­likost 16x16. Pokud ikona webu nemá verzi ve­likosti 32x32, je na hlavním pan­elu zo­brazena ikona ve­likosti 16x16 na bílém pozadí.

JavaScript
JavaScript
JavaScript

Overlay Icon

Hlavní ikonu lze překrýt další ikonou, napřík­lad během časově náročného vyh­ledávání.

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

K od­s­tranění překryvné ikony slouží funkce:

window.external.msSiteModeClearIconOverlay();

Jump List task

Místní nabídka ikony webu může být rozšířena o vlastní položky. Je­jich počet je omezen na 20. K je­jímu vytvoření slouží tři me­tody:

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

Thumbnail Button

Náh­led stránky může být do­pl­něn až o 6 tlačítek s li­bo­vol­nou ikonou. Ne­jprve je třeba přih­lásit se k od­běru události, která nas­tane, pokud uži­va­tel na tlačítko klikne:

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

Následně se zareg­istruje tlačítko a zavolá se pokyn k jeho zo­brazení:

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

A konečně obs­lužná rutina. 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; } }
JavaScript

Tracking Protection Lists

Jedná se o sez­nam stránek, je­jichž ob­sah proh­lížeč blokuje. URL, které se mají bloko­vat, popisují reg­ulární výrazy. V ostat­ních proh­lížečích se této funkci výstižně říká Ad­Block. Sez­nam je ve for­mátu RSS, takže jej proh­lížeč může průběžně ak­tu­al­i­zo­vat. Nedělá to však častěji, než jed­nou za tý­den. K přidání sez­namu 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 používá anonymní režim:

var inPrivate = window.external.InPrivateFilteringEnabled();

Web Slice

Web Slice, což je jakýsi výstřižek stránky, se do pan­elu oblíbených polož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­plorer může zo­bra­zo­vat in­for­mační kanál jako název stránky v pan­elu oblíbených položek. Název je do­pl­něn o počet nepřečtených zpráv. Po kliknutí na něj se zprávy zo­brazí.

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

Vykreslovací režim

In­ter­net Ex­plorer 9 má už 4 vykreslo­vací režimy. Ke zjištění který z nich je použit pro ak­tuální stránku slouží vlast­nost doc­u­ment­Mode. Nabývá hod­not 5, 7, 8 a 9 po­dle čísla verze, ze které je použit její ne­jnovější vykreslo­vací režim.

Internet Explorer 7

Search Provider

Search Provider je náhrada za Win­dows Search As­sis­tant. Jde o posky­to­vatele výsledků hledání na webu. In­ter­net Ex­plorer to­hoto posky­to­vatele používá, pokud uži­va­tel vyh­ledává přímo po­mocí proh­lížeče. Lze ho při­dat voláním me­tody, je­jíž parametr ukazuje na sou­bor se stro­jově čitel­ným návo­dem, jak má proh­lížeč vyh­ledá­vač použít.

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

Activity Provider

Ac­tiv­ity Provider, často zvaný spíše jako akcel­erá­tor, má na starosti zpra­cování oz­načeného textu. Uži­va­tel napřík­lad oz­načí adresu a akcel­erá­tor je schopen jí na mapě ukázat. Do proh­lížeče se přidává voláním me­tody, která ukazuje na sou­bor se stro­jově čitel­ným návo­dem, jak má proh­lížeč akcel­erá­tor použít.

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

Internet Explorer 6

Vykreslovací režim

In­ter­net Ex­plorer má dva vykreslo­vací režimy – Quirks a Stan­dards. Který z nich je právě použí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

Zavoláním této me­tody lze nabá­dat uži­vatele, aby si uložil we­bovou stránku do oblíbených položek:

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