Sākot ar Internet Explorer 9 paaudzi Jums vairāk nav nepieciešamības veidot īpašu JavaScript kodu un CSS šim pārlūkam.
Tagad visus pārlūkus var sadalīt divās kategorijās:
- Tie, kuri atbalsta standartus (Internet Explorer 9, Firefox,Chrome,Safari) 2)
- Novecojušie pārlūki (IE8,IE7,IE6) diemžēl tieši šajos gadījumos ir jāsaglabā esošā prakse ar dažādiem failiem un pārlūku identificēšanu.
Apskatīsim vienu piemēru ar draugiem.lv
Mēģinot nosūtīt vēstuli, tā vietā, lai viss noritētu bez problēmām tiek iegūta JavaScript kļūda
(Kļūdu paziņojumu parādīšanu var ieslēgt: Internet Options -> Advanced -> Display script debugging).

Pārlūks parāda šādu kļūdu:
Turpinot skripta izpildi atveras div elements un vel viens Pārlūka Tab, kurā var ierakstīt ziņojumu.
Koda fragments:

Apraksts:
Te ir deklarēti divi if zari, kur:
- JavaScript kods, kurš izpildās, ja pārlūks ir IE (visas versijas!!!!). Kas, pēc būtības, izslēdz dažādo pieeju dažādu paaudžu IE pārlūkiem.
- JS kods, kurš izpildās visos citos pārlūkos. Šis kods strādātu, ja IE8 un IE9 pārlūki nepilnīgi atbalstītu standartus.
(atzīmēšu, kā no šī kļūdas un daudziem citiem varētu izvairīties, ja pareizi pārbaudīt IE9 versiju par to var palasīt šeit)
Test 22 no populāra Acid 3 testa komplekta, pārbauda vai pārlūks izdod INVALID_CHARACTER_ERR izņēmumu, ja atrodas nepareizi simboli createElement() funkcijā:
function () {
// test 22: createElement() with invalid tag names
var test = function (name) {
var result;
try {
var div = document.createElement(name);
} catch (e) {
result = e;
}
assert(result, "no exception for createElement('" + name + "')");
assertEquals(result.code, 5, "wrong exception for createElement('" + name + "')"); // INVALID_CHARACTER_ERR
}
test('<div>');
test('0div');
test('di v');
test('di<v');
test('-div');
test('.div');
return 2;
}
Internet Explorer jau no IE8 paaudzes pārlūka sāka stingrāk atbalstīt standartus. Diemžēl šādai situācijai daudzas tīmekļa vietnes vēl nav gatavas un kā rezultāts tam, ir šādu kļūdu saņemšana.
Risinājums
Veikt pārlūka detalizētu atpazīšanu, tas ir, vai tas ir IE7, IE8 un IE9 paaudzes pārlūks un atbilstoši rezultātiem izpildīt JavaScript kodu. Tīmekļa vietnes JavaScript koda izpilde ari IE9 izmainot pārlūka atpazīšanas mainīgā vērtību.

Kā redzams, tad tīmekļa vietne strādā kā paredzēts un netiek novērota iepriekš aprakstā kļūda.

Kopsavilkums:
- Izstrādājot tīmekļa vietni ir būtiski identificēt ne tikai pārlūku ( IE, FF, Chrome,Opera, utml.), bet arī konkrētu versiju (IE6,IE7,IE8 vai IE9).
- Iznākot IE9 pārlūkam izstrādātājiem nebūs jāveido dažādi CSS, JavaScript faili priekš IE9 un pārējiem pārlūkiem.
- Būtiski tīmekļa vietņu izstrādi nevis orientēt, bet balstīt uz industrijas standartiem.
Ja jums radīsies papildus jautājumi vai komentāri ,rakstiet man
v-anantj@microsoft.com
Šodien mēs apskatīsim kādus priekšrocības dod IE9 jauna funkcionalitāte ja Jumu vietnes galvenais mērķis - sniegt lietotajam informāciju.
Pieņemsim Jums ir ziņu portāls. Ko darītu lai paceltu lietotāja pieredzi uz jauno līmenī?
1. Pirmām kārtām jāizmanto piespraustās vietnes.
(Izlasīt par to, kas ir piespraustās vietnes un kā tās implementēt var šeit)

Ar ko ziņu portāls atšķirās no visiem pārējiem?
- Ziņu portālam ir atsevišķas nodaļas katrai tematikai (Saīšņu saraksta uzdevumi)
- Ziņu plūsma (Dinamiskie saīšņu saraksta uzdevumi, Timekļa fragmenti)
- Atkarīgi no ziņu atjaunošanas ātruma Jums varētu būt dienas ziņas vai stundas ziņas (Dinamiskie saīšņu saraksta uzdevumi, timekļa fragmenti, Ikonu pārklājumi, ikonu atzīmēšana)
- Lietotāji ienāk pie Jums, lai lasītu ziņas, tāpat, kā ja viņi lasītu avīzi vai žurnālu (Piespraustas vietnes uzstatījumi)
Pievienojot piesprausto vietņu funkcionalitāti, Jūs varat izcelties un padarīt Jūsu vietni par tīmekļa lietotni, kuru būs ļoti patīkami izmantot un kura palīdzēs Jums taupīt lietotāja laiku.

2. Tagad Jūsu vietne ir viena klika attālumā
Kā padarīt mijiedarbību ar lietotāju vēl ērtāku? Pētot lietotāja uzvedību var uzzināt par viņa iecenitakaiem ziņu tematikām un pievienot viņus saīšņu sarakstā uzdevumos. Tagad lietotājs var ātri tikt pie viss svarīgākas informācijas:
3. Izmantot papildus kategorijas dinamisko ziņu atspoguļošanai.
Šeit var apskatīt 2 scenārijus:
- Ielādēt kategorijā pamatziņas(“stundas ziņas, dienas ziņas”)
Priekšrocība šeit ir tāda, ka lietotājs var viegli ar saīšņu sarakstu palīdzību saprast, kas notiek, un ar vienu kliku atvert interesējošo ziņu. Ja kāda ziņa lietotāju interesē, viņš var to piespraust un izlasīt dienas beigās.
- Ielādēt kategorijā galvenās tematiskās nodaļas

Pluss ir tāds, ka, faktiski, tās ir papildus saites uz Jūsu saita nodaļām, kas neielīda uzdevumjoslā lejā. Ja ir kāda tēma kuru patika lietotajam viņš to var piespraust un atgriezties kad viņam būs laiks.
Papildus priekšrocība:
- Ja ziņa ir ļoti svarīga, tad var pievērst lietotāja uzmanību pie Jūsu lietotnes:

- Ja Jūs realizējat kaut kādu orientētu uz lietotājiem funkcionalitāti (piemēram, komentāru pierakstīšana), tad var parādīt signālu, ka situācija izmainījās,piemērm šādi:

Ja jums radīsies papildus jautājumi vai komentāri, rakstiet man
v-anantj [at] microsoft.com
Dažiem interesē, kā var pievienot savu elementu jau piespraustā Web vietnē.
Apskatīsim vienu piemēru: Ir piesprausts Bing, kā pievienot saite uz Bing Translator saīšņu sarakstā, piemēram?

Pareiza atbilde: To labāk nedarīt, tā kā saīšņu saraksta saturu definēt Web lapas izstrādātājs un tas regulējās ar meta-tagiem un ar JavaScriptu. Tā pat tas var pazust, ja iztīrīt pārlūka ķešu. Vienkārši sakot: viss, ko Jūs pievienosiet, var būt pārrakstīts.
Bet ja gribās – tad var
To var izdarīt pievienojot savu kategoriju izmantojot JavaScript, kas izpildās uz lapas. Sakot no Internet Explorer 8 versijas, Jums ir pieejami izstrādātāju rīki (atveras ar F12 pogu), kuri ir arī JavaScript komandrindā, kur ir iespēja izpildīt jebkuru kodu
Lai pievienotu kategoriju un saites tajā, vajag izpildīt šo kodu:
var e = window.external;
if (e && "msIsSiteMode" in e && e.msIsSiteMode()) {
e.msSiteModeCreateJumplist("Favorites");
e.msSiteModeAddJumpListItem("Translate",
"http://www.microsofttranslator.com/",
"http://www.microsofttranslator.com/icon.ico");
e.msSiteModeShowJumplist();
}
Tāpat, ja Jūs esat Web izstrādātājs, Jūs varat izmantot šo kodu, lai dinamiski pievienotu elementus saīšņu sarakstā.
Tagad mums ir atsevišķa kategorija “Favorites”, kura ir saites uz tulkotāju ar savu ikonu.
Jautājiet, meklēsim atbildes un risinājumus - v-anantj [@] microsoft.com
Ziemassvētkos mēģināju sevi kulināra lomā
Rezultāts

Pagaršot
Iepriekšējā ierakstā stāstījām par to, kas ir Piespraustās vietnes un kāda ir to nozīme. Šoreiz nedaudz iedziļināsimies implementēšanā.
Izmantojot jauno IE9 funkcionalitāti, varat doties uz savām izlases vietnēm tieši no Windows uzdevumu joslas bez nepieciešamības vispirms atvērt Internet Explorer.
Katrai vietnei, kas ir piesprausta uzdevumu joslai, ir arī saīšņu saraksta izvēlne. Dažām ir arī tādas vadīklas kā videoklipa atskaņošana vai pauzēšana, kuras redzēsit zem sīktēla priekšskatījuma. Un dažām piespraustajām vietnēm ir ikonu pārklājumi, kas nodrošina informāciju par vietnes statusu, piemēram, jauno ziņojumu skaitu iesūtnē.
Lai sāktu izmantot piespraustas vietnes nodrošinātos ieguvumus, jāpievieno tikai daži meta tagi. Nekādas sarežģītas pārprogrammēšanas. IE9 jaunumi nesabojās jūsu lapas izskatu.
Pēc noklusējuma piespraustā vietne pārņem iestatījumus no tās lapas, kuru vēlaties piespraust.
- Piespraustās vietnes nosaukums = virsraksts no pašreizējās lapas
- Sākumlapa būs pašreizējā lapa
- Ikona = favicon no vietnes
- <> Pogas krāsa tiek noteikta, analizējot vietnes ikonu — ikonas raksturīgā krāsa
Tad algoritms ļauj piespraust jebkuru lapu un veikt pielāgošanu bez jebkādas darbības no Web izstrādātāja puses.
Bet tas ne vienmēr sniedz nevainojamu rezultātu. Problēmas var rasties saistībā ar nosaukumu vai ar sākumlapu, kā arī ar ikonu un krāsu.
Pirmām kārtām jāņem vērā, ka ikonas (favicon) izmērs parasti ir ne lielāks par 16x16px. Tā kā Windows izmanto lielākas ikonas, tad, lai iegūtu nepieciešamo formātu, parādās balts fons.
Tas pats notiek ar uzdevumu joslu:

Turklāt <> krāsa tiek noteikta automātiski no krāsas, kas vislabāk piestāv ikonai. Dažreiz rezultāti ir interesanti.
Taču to visu var viegli izlabot!!
Piespraustās vietnes uzstatījumi
Visas piespraustās vietnes pēc to iestatījumiem var iedalīt divās grupās: statiskās un dinamiskās. Pirmās nosakās ar meta tagu palīdzību, bet otrās ar JavaScript.
Pie statiskām attiecas:
- Piespraustās vietnes nosaukums.
- Palīdzības teksts (tooltip).
- Sākumlapa.
- Ikona.
- <> pogu krāsa.
- Saīšņu saraksta uzdevumi.
Šie parametri nemainās ļoti bieži, bet, ja tos izmaina jebkurā brīdī pēc pārstartēšanas, lietotājs redzēs atjaunotu versiju.
Pie dinamiskiem iestatījumiem:
- Papildu kategorija saīšņu sarakstā, nosaukums un elementi.
- Piespraustās vietnes uzpeldošās ikonas.
- Vietnes ikonu aktivēšana.
- Uzdevumu joslas pogas priekšskatījumā.
Dinamiskie iestatījumi mainās tieši tīmekļa lietotnes izpildīšanas laikā, kad lietotne ir atvērta. Bet kategorijas un tās saturs saglabājas arī pēc tās izslēgšanas.
Sāksim ar pamatiestatījumiem (statiskajiem iestatījumiem).
Pamatiestatījumi.
Pamatiestatījumi ir pilnībā atkarīgi no meta tagiem un link-tagiem lapas galvenē. Tie jāiekļauj visās lapās, kas paredzētas piespraušanai.
- Web lietotnes nosaukums. Nosaukums tiek izmantots, lai nosauktu ikonu un sākumlapas nosaukumu saīšņu sarakstā. Ja tas nav definēts, izmanto lapas virsrakstu.
<meta name="application-name" content="IE9 Demos"/>

- Palīdzības teksts parādās norādot uz ikonu ar kursoru.
<meta name="msapplication-tooltip" content="IE9 Demos Tooltip"/>

- Sākumlapa atveras, noklikšķinot uz programmas ikonas. Ir atļauts izmantot http, https, ftp protokolus. Ja nav norādīts, izmanto pašreizējās lapas adresi.
<meta name="msapplication-starturl" content="http://mywebsite.lv/"/>
- <> pogas krāsa. Lai definētu krāsu, var izmantot nosaukto vērtību (red, blue...) vai heksadecimālu (gluži kā CSS). Ja krāsas nav norādītas, tiek izmantota ikonas raksturīgā krāsa.
<meta name="msapplication-navbutton-color" content="blue"/>

- Loga sākotnējais izmērs. Piespraustas vietnes sākotnējo izmēru var iestatīt pārlūkprogrammas logā, ja tas tiks atvērts. Ja lietotājs maina loga izmēru, tad Web lietotne atcerēsies lietotāja izvēli.
<meta name="msapplication-window" content="width=800;height=600"/>
- Ikonas. Lai piespraustai vietnei būtu pareiza ikona, tā ir jāsagatavo un jānorāda, tieši kuru ikonu vēlaties lietot, izmantojot šo kodu.
<link rel="shortcut icon" type="image/x-icon"
href="http://localhost:16435/favicon.ico" />
<link rel="icon" type="image/ico" href="favicon.ico">
Tas ir viss attiecībā uz pamatiestatījumiem. Tagad aplūkosim, kā sagatavot ikonas..
Lai izmantotu parasto ikonu (favicon), ir pietiekami, ja sagatavo vienu attēlu 16x16px. Taču ar šo attēlu var nepietikt, lai piespraustu vietni.
Vislabāk ir, Web lapai sagatavo ikonu ar dažādiem izmēriem katram gadījumam. 
- 16x16 favicon - tipiska ikona vietnei, kas tiek izmantota adrešu joslā.
- 24x24 pa kreisi <> no pogas, ja nav iestatīta, tad 32 x32 ikona tiek mērogota, ja arī šī nav iestatīta — tiek izmantota 16 x16 ikona un pievienots balts fons.
- 32x32 - tiek izmantota uzdevumu joslā.
- 48x48 - izmanto datņu sistēmā.

Nevajadzētu izmantot ikonas, kas ir lielākas par 64x64px, jo tas palielina lapas izmēru un var negatīvi ietekmēt ātrdarbību.
Tāpat ikonas var atšķirties atkarībā no izmantotā ekrāna izšķirtspējas:

Sagatavojot ikonas, neaizmirstiet par caurspīdīgo slāni. Ieteicams izmantot 32-bitu versiju, kas ir atsevišķu alpha kanāls.
Saīšņu saraksts ir uznirstošā konteksta izvēlne, kas atrodas uzdevumu joslā. Pieejams, nospiežot peles labo taustiņu vai ikonu velkot uz augšu.

Sastāv no vairākiem blokiem:
- Sistēmas komandas: ietver loga aizvēršanu, piespraušanu/atspraušanu, sākumlapas saiti (var aprakstīt saiti, tekstu un ikonu).
- Pārlūka komandas: atvērt privātajā režīmā.
- Uzdevumi: saites uz galvenajām sadaļām vietnē vai svarīgiem resursiem, kam vēlaties nodrošināt visātrāko piekļuvi. Var norādīt līdz pat 5 komandām.
- Kategorijas: saites uz papildu tēmu vai resursu vietu, dinamiski atjaunināta ar JavaScript. Var izveidot tikai vienu kategoriju, kurā var būt līdz pat 20 saitēm.
Katram uzdevumam un kategorijai norāda tekstu, saiti un ikonu.
Saīšņu saraksta uzdevumi ir saites uz lietotāja resursu galvenajām sadaļām vai svarīgām lietotāja funkcijām Web lietotnē.
Piemēram, tas var ietvert saites uz profilu vai ziņojumus. Tā var būt saite uz meklēšanas vietni vai jaunākajām ziņām.m.
Var pievienot līdz pat 5 uzdevumiem.
Lai pievienotu uzdevumu, jāizmanto šādi meta tagi:
<meta name="msapplication-task"
content="name=Task 1;action-uri=http://host/Page1.html;
icon-uri=http://host/icon1.ico" />
<meta name="msapplication-task"
content="name=Task 2;action-uri=http://microsoft.com/Page2.html;
icon-uri=http://host/icon2.ico" />
Vietnēm nav jābūt vienā domēnā. Uzdevumi ir pievienoti izvēlnei tādā pašā secībā, kādā tie ir aprakstīti. Katram uzdevumam var norādīt atsevišķu ikonu.
Šādi, piemēram, izskatās uzdevumu definēšana Twitter mājas lapā:
<meta name="msapplication-task"
content="name=New Tweet; action-uri=http://twitter.com/home;
icon-uri=images/ie/tweet.ico" />
<meta name="msapplication-task"
content="name=Messages; action-uri=http://twitter.com/inbox;
icon-uri=images/ie/dm.ico" />
<meta name="msapplication-task"
content="name=Mentions; action-uri=http://twitter.com/replies;
icon-uri=images/ie/mentions.ico" />
<meta name="msapplication-task"
content="name=Favorites; action-uri=http://twitter.com/favorites;
icon-uri=images/ie/fav.ico" />
<meta name="msapplication-task"
content="name=Search; action-uri=http://search.twitter.com;
icon-uri=images/ie/search.ico" />

Un ļoti līdzīgs uzdevumu saraksts Bing:
<meta name="msapplication-task"
content="name=Weather;action-uri=/weather/?FORM=IE0006;
icon-uri=/fd/s/a/sm_weather.ico" />
<meta name="msapplication-task"
content="name=Finance;action-uri=/finance/?FORM=IE0006;
icon-uri=/fd/s/a/sm_finance.ico" />
<meta name="msapplication-task"
content="name=News;action-uri=/news/?FORM=IE0006;
icon-uri=/fd/s/a/sm_news.ico" />
<meta name="msapplication-task"
content="name=Maps;action-uri=/maps/?FORM=IE0006;
icon-uri=/fd/s/a/sm_maps.ico" />
<meta name="msapplication-task"
content="name=Travel;action-uri=/travel/?FORM=IE0006;
icon-uri=/fd/s/a/sm_travel.ico" />

Pievērsiet uzmanību tam, ka varat pievienot jebkuru saites parametru, tai skaitā GET- vaicājuma parametrus, ar kuru palīdzību var sekot līdzi apmeklējumu statistikai, kā un cik bieži lietotāji izmanto uzdevumu sarakstu un piesprausto vietni.
Lietotājam arī jāatgādina, ka ir šāda iespēja. Par to nākamajā nodaļā.
Pirms dinamisko iestatījumu izmantošanas ar JavaScript, jāpārliecinās, ka pārlūks tos atbalsta un ir piesprausts.
Lai noteiktu, vai pārlūkprogramma atbalsta vajadzīgo režīmu un vai Web lietotne palaista piespraustā režīmā, jāizmanto msIsSiteMode funkcija. Piemēram, ar šādu kodu:
if (window.external.msIsSiteMode) {
// Check if the website was launched from a pinned site.
if (window.external.msIsSiteMode()) {
// Site is running in pinned mode
}
else {
// Site is not running in pinned mode
}
} else {
// Browser does not support pinned site mode
}
Tomēr ir kāda svarīga nianse: publiskajā betā IE9 ir pazīstama blusa. Versijā, ko pašlaik izmantojam, šīs blusas ir uzlabotas, to iepriekšējais kods ir pareizs, bet publiskajā betā tas nedarbojas un ir jāizmanto alternatīvi risinājumi:
try {
if (window.external.msIsSiteMode()) {
// Site is running in pinned mode
}
else {
// Site is not running in pinned mode
}
}
catch (e) {
// Browser does not support pinned site mode
}
Vai vēl viens variants ar funkciju:
checkPinnedSiteMode = function () {
// return window.external.msIsSiteMode && window.external.msIsSiteMode());
// workaround for beta
return window.external && "msIsSiteMode" in window.external
&& window.external.msIsSiteMode();
};
Vai arī ar mainīgo izmantošanu:
var isPinnedSiteMode = window.external && "msIsSiteMode" in window.external
&& window.external.msIsSiteMode();
Tālāk pārbaudām, vai mēs esam vajadzīgajā režīmā un vai var palaist attiecīgo kodu.
Faktiski var pievienot tikai vienu kategoriju. Kategorija ir paredzēta līdzīgu elementu apvienošanai. Piemēram, ja :
- tas ir ziņu portāls, tā varētu būt vissvarīgāko ziņu plūsma („Stundas ziņa”, „Dienas ziņas”);
- Web lietotne paredzēta dokumentu apstrādei, tie varētu būt „Pēdējie atvērtie dokumenti”;”.
- lapai piestāv sociāls elements, tad kategorijas elementi varētu būt draugi, kuri pieteikušies vietnē.
Lietotājs tieši no saīšņu saraksta iegūst piekļuvi šiem objektiem.
Bet jāņem vērā, ka lietotājs var pats piespraust lapu, kas lietotājam patīk visvairāk. Piemēram, dokumentu, ar kuru lietotājs strādā biežāk, vai ziņas, ko lietotājs vēlas izlasīt vēlāk.
Kad lietotājs noklikšķina uz jebkuru saiti, tiek atvērts jauns logs ar atbilstošo adresi. Un šīs saites ir pieejamas arī tad, kad portāls ir aizvērts.

Tātad var izveidot vienu kategoriju ar 20 elementiem. Kategorija un elementi tiek pievienoti ar JavaScript palīdzību. (Pievienot elementus var jebkurai lapai, kas atrodas domēnā.)
Demonstrācijas nolūkiem izmantosim definēto kategoriju ar elementiem.
getNewEmailsCollection = function () {
return [
{ name: "Invitation from Microsoft Connect",
url: "http://mysite.lv/inbox/mail/1001" },
{ name: "Windows Phone 7 Device Update",
url: "http://mysite.lv/inbox/mail/1000" },
{ name: "You have been nominated to receive...",
url: "http://mysite.lv/inbox/mail/999" },
{ name: "Technet Flash: IE9 Beta is here",
url: "http://mysite.lv/inbox/mail/998" },
{ name: "A New Kind of Science arrives on...",
url: "http://mysite.lv/inbox/mail/997" },
{ name: "Re: hint #ie9",
url: "http://mysite.lv/inbox/mail/996" }
];
};
Reālajā dzīvē tie, visticamāk, būs dati no servera vai pieprasījuma rezultāts JSON formatējumā. Un kategorijas atjaunošana strādās pēc taimera vai kāda notikuma.
|
Darbība
|
Funkcijas nosaukums
|
|
Kategorijas pievienošana
|
msSiteModeCreateJumplist
|
|
Elementa pievienošana
|
msSiteModeAddJumpListItem
|
|
Elementa dzēšana
|
msSiteModeClearJumplist
|
|
Atspoguļošana
|
msSiteModeShowJumplist.
|
Kopumā tas izskatīsies šādi:
addCategories = function () {
if (isPinnedSiteMode) {
window.external.msSiteModeCreateJumplist('Inbox');
window.external.msSiteModeClearJumplist();
var posts = getNewEmailsCollection();
// JumpList aizpildās no lejas
for (i = posts.length - 1; i >= 0; i--) {
window.external.msSiteModeAddJumpListItem(posts[i].name,
posts[i].url, "/mail.ico");
}
window.external.msSiteModeShowJumplist();
}
};
Jāpievērš uzmanība tam, ka elementi sarakstā parādās pretējā izkārtojumā — ne tādā, kādā tiek glabāti kolekcijā.
Kategorijas uzpildīšana notiek no lejas uz augšu. Attiecīgi, jaunākās ziņas vai pēdējie objekti, ko lietotājs var pievienot, parādās augšā, savukārt vecie tiek dzēsti.
Katram elementam ir jānorāda nosaukums, saites un ikonas.
Papildu iespēja, kas var noderēt (piemēram, ja vēlaties sinhronizēt sarakstu ar iekšējiem objektiem) — var izsekot notikumu, kuru lietotājs saņem kategorijā. Lai to izdarītu, jums jāpierakstās uz vienu no notikumiem:
document.addEventListener('mssitemodejumplistitemremoved', removed, false);
document.attachEvent('onmssitemodejumplistitemremoved', removed);
function removed(url) {
// some action here
}
Svarīgs tehniskais moments: notikums nenostrādās uzriez, bet gan brīdī, kad tiks izsaukta msSiteModeShowJumplist funkcija.
Ikonas pārklājumi ļauj brīdināt lietotāju par to, ka lietotāja lietotnē vai mājas lapā ir noticis notikums. Tā, piemēram, lietotājs saņem jaunu vēstuli vai publicē jaunu ziņu, vai datu apstrāde ir pabeigta — šajā brīdī virs ikonas piesprausto vietā parādās brīdinājumu ikoniņa.
|
Darbība
|
Funkcijas nosaukums
|
|
Ikonas pievienošana
|
msSiteModeSetIconOverlay
|
|
Ikonas noņemšana
|
msSiteModeClearIconOverlay
|
Kods varētu izskatīties šādi:
checkMailBox = function () {
if (isPinnedSiteMode) {
if (hasNewEmails()) {
window.external.msSiteModeSetIconOverlay(
'http://localhost:16435/mail.ico', 'New Email');
}
else {
window.external.msSiteModeClearIconOverlay();
}
}
};

Nevajag traucēt lietotāju ar katru notikumu, kas notiek Web lietotnē. Vai tiešām lietotājam ir tam visam jāpievērš uzmanība?.
Ir vēl viena iespēja, kā pievērst lietotāju uzmanību, proti, atverot kādu lietojumprogrammu, ja tā ir minimizēta vai aizvērta.
Ikonas atzīmēšana ir vēl viena iespēja, lai pievērstu tā lietotāja uzmanību, kurš paslēpis jūsu lietotni vai aizvietojis to ar citu. Ikonu atzīmēšana ir labāk pamanāma nekā ikonu pārklājums, izmantojiet to vēl piesardzīgāk.
Lai izceltu ikonu, kad lietotājs ir pārslēdzies uz citu logu, jāizsauc msSiteModeActivate funkcija, piemēram, šādi:
onFinishedAnalysing = function () {
// do something
// ...
if (isPinnedSiteMode) {
window.external.msSiteModeActivate();
}
};
Pēdējais punkts ir pogu pievienošana Web lietotnes priekšskatījumā. Ar šo funkcionalitāti varat nodrošināt mijiedarbību ar lapu, nepārslēdzoties uz to.
Piemēram, ja uz lapas atspoguļojas video vai atskanējās kāda melodija, ar pievienotām pogām var kontrolēt procesu.
Var pievienot ne vairāk kā 7 pogas, un katra no tām var izsaukt komandu saistībā ar pašreizējo lapu (nospiežot pogu, izsaucas JavaScript apstrādātāji).
Pogas var pievienot, radīt un slēpt, nodzēst, aktivēt un deaktivēt, kā arī mainīt to ikonas. Noklikšķinot ģenerējas notikums ar pogas Id:
- Pogas izveidošana: lai Izveidotu pogu, ir jāizsauc msSiteModeAddThumbBarButton funkcija, kas atgriež Id, kuru ģenerē pogas:
var btn = window.external.msSiteModeAddThumbBarButton('mail.ico', 'Check Inbox');
- Apstrādātāja pievienošana: lai fiksētu noklikšķināšanas brīdi, jāpierakstās uz notikumu msthumbnailclick:
document.addEventListener('msthumbnailclick', function (btn) {
alert("addeventlist:thumbnail btn id" + btn.buttonID);
}, false);
Pierakstīšanā ir jānorāda apstrādātājs (inline vai kā pointers uz funkciju), kas saistīts ar pogas objektu, no kura var uzzināt, kāda poga ir uzklikšķināta
- Priekšskatījuma atspoguļošana: lai parādītu priekšskatījumu ar pogām, izmantojiet msSiteModeShowThumbBar::
window.external.msSiteModeShowThumbBar();

- Stāvokļa atjaušana: lai atjaunotu pogas stāvokli, ir pieejama msSiteModeUpdateThumbBarButton funkcija, kurai jānoāda pogas id un iestatījumi:
window.external.msSiteModeUpdateThumbBarButton(uiButtonID, fEnabled, fVisible)
- Stila mainīšana: lai mainītu pogu stilu, piemēram, samainītu „Play” pogu uz „Pause” un atpakaļ, jānosaka atbilstošs stils, izmantojot msSiteModeAddButtonStyle funkciju
var playStyle = window.external.msSiteModeAddButtonStyle(playButton,
'http://mysite.lv/img/play.ico', 'Play');
var pauseStule = window.external.msSiteModeAddButtonStyle(playButton,
'http://mysite.lv/img/pause.ico', 'Pause');
Pēc tam jālieto stils, izmantojot msSiteModeShowButtonStyle funkciju:
window.external.msSiteModeShowButtonStyle(playButton, playStyle);
Svarīgi! Jāuztur informācija par laikiem, kad lietotājs apmeklē jūsu lapu un kad dodas uz citu lapu. Atkarībā no tā jāparāda, vai ir paslēptas pogas. Citādi pogas varētu būt pieejamas citā lapā, bet nedarboties.
Un protams, neaizmirstiet pārbaudīt, vai vietne ir piespraustajā režīmā.
Mazs, atsevišķs temats. To var izdarīt, izmantojot msAddSiteMode funkciju. Nedrīkst aizmirst pārbaudīt, vai tā ir pieejama pārlūkā.


.Website īsinājumikona. Kas tas ir un kā tas strādā?
Tehniski tie ir parastie un visiem pazīstamie .url tikai ar .website paplašinājumu un mazliet atšķiras iekšpusē

Datnes iestatījumos varat izmainīt saiti uz sākumlapu un izmainīt ikonu.
.website Palaiž IE9 ar parametru.
Domāju, ka laika gaitā radīsies daudz spraudņu bieži izmantotiem CMS, ar kuru palīdzību varēs ieviest un atvieglot piespraustās vietnes izmantošanu. Tāds spraudnis jau eksistē Wordpress vajadzībām.
IE9 pinned site Spraudnis priekš WordPress
Spraudnis ļauj pielāgot:
- Piestiprinātās vietnes nosaukumu, sākumlapu
- saīšņu saraksta uzdevumus — jaunu ierakstu pievienošanai, komentāru regulēšanai un failu saglabāšanai
Apkopojums.
Internet Explorer 9 nevainojami integrējas datoros, kuros darbojas operētājsistēma Windows 7, lai nodrošinātu visērtāko tīmekļa izmantošanu ar Windows.
Ir ļoti vienkārši un ātri integrēt vietni operētājsistēmā Windows 7, jāpievieno tikai meta tagi
Ja jums ir jautājumi vai nepieciešama palīdzība, rakstiet komentārus vai e-pastu man (v-anantj [@] microsoft.com)
Internet Explorer 9 versijā parādās jauna iespēja pārveidot Jūsu iecienītāko Timekļa vietni gandrīz pilnvērtīgā lietotne
IE9 palīdz Jums piespraust timekļa vietni jebkurā no trim vietām:
- Start Menu,
- Uzdevumjoslā
- Darbavirsmā
Katrā no trim gadījumiem Jūsu vietnes vai „timekļa lietotne” var palaist, noklikšķinot uz ikonas(IE9 automātiski atrod ikonu no jūsu lapas)
Piestiprināt vietni var vienkārši velkot ikonu (favicon) vai cilni no adrešu joslas uz vajadzīgo vietu.
Jūs, laikam, jautāsiet, kāda jēga ir no visa tā. Izveidot īsinājumikonu Web lapai bija iespējams jau sen, ka arī grāmatzīmi.
Atbilde ir tāda : kad Jūs piespraudāt vietni, Internet Explorer 9 automātiski pielāgojās Jūsu izvēlētai lapai un papildina to funkcionalitāti, lai tā vairāk izskatītos pēc pilnvērtīgas desktop lietotnes!

Tas tagad ir praktiski Jūsu izvelētās Web vietnes pārlūks! Un lai tas viss strādātu, Jums nevajag neko darīt!
Bet šeit sākās visinteresantākais: tagad Jums, kā Web izstrādātājam, ir iespēja sasniegt augstāko līmeni mijiedarbībā ar lietotāju izmantojot visjaunākās iespējas, ko dod Windows7. Viens no tādiem jaunumiem ir
JumpLists
Kad Jūs piestiprināt Jūsu vietni (uzdevumu panelī vai starta menu), Jums ir iespēja pievienot darbības nolaižāmajā sarakstā.
Tāpat var arī izvietot brīdinājumus lietotājam par jebkuru notikumu Jūsu Web lietotne izmantojot izpeldošas lodžiņas.
Vai arī pievienot pogas priekšskatījumā(preview), kas sniegs informāciju par to, kas notiek lapā, vai pārvaldīšanas iespējas, bez vajadzības to atvērt.

Ko Jūs no visa tā saņemsiet kā Web izstrādātājs?
- Pilnīgi atsevišķu lietotni, kas būs tieši pielāgota Jūsu Web vietnei – pastiprina brenda ietekmi un palielina lietotāju lojalitāti.
- Ātrs veids, lai palaistu Jūsu timekļa lietotni
- Iespēja sasniegt jaunu līmeni mijiedarbībā ar lietotāju ,caur JumpList, priekšskatījumā pogām un citu.
Kā lietotājs:
- Jūsu Web sērfošanas pieredze ir kļuvusi vēl interesantāka un efektīvāka.
- Tagad, kad Jums vajag atvert Jūsu iemīļotāko lapu, Jums nevajag rakstīt URL, viens click un Jūs esat jau tur
- Kad jums vajag izdarīt kaut kādu darbību lapā (kuru Jūs izpildat katru dienu: izlasīt ziņas no tehnoloģijas daļas Delfi vai apskatīt konta izrakstu), Jums nevajag meklēt saiti. Izmantojot JumpList Jūs to varat iegūt 1 sekundes laikā!
Scenāriji
- Ziņu portāls, lietotājam būtu ērtāk, ja viņš varētu piekļūt pie viņa svarīgākām ziņu kategorijām no JumpList.
- Social -orientēts projekts, kad no JumpList uzdevumiem var sāņemt piekļuvi pie Galveniem zandaļiem: profile, draugi , vēstules, un arī paziņot lietotājam, ka kaut kas interesants notika lapā
- Multimedija kontents – ar priekšskatījuma palīdzību un speciālām pogām jums ir iespēja pārvaldīt par kontenta atspoguļošanu, tieši no piespraudzinātas Web lietotnes, tieši tā, kā to dara Windows Media Player , vai citi
Tas viss atvieglo lietotājam dzīvi, un Jūs, kā Web izstrādātājs, saņemat jaunas iespējas mijiedarbībā ar lietotāju.
Ja Jūs tas ieinteresēja, ir jautājumi? Komentējiet, rakstiet man (v-anantj [@] microsoft.com) Es palīdzēšu.
IE9 video apskats no zparks.lv
Par IE9 īpašībām un jaunumiem stāsta Aleksandras Golod (Windows Biznesa Grupas vadītājs Baltijā)
Neatkarīga eksperta novērtējums – Andris Krastiņš (New Horizonts Datorkursu pasniedzējs)
Pamēģināt IE9 var šeit
2011. gada 18.martā, Vidzemes Augstskolā, Valmierā, notiks ikgadējā starptautiskā konference „Virtual and Augmented Reality in Education” (Virtuālā un papildinātā realitāte izglītībā) Tās ietvaros notiks arī šī projekta praktiskā konference „VR/AR Applications in Training”
Papildinātās realitātes tendence tagad ir ļoti populārs mobilajos aplikācijās. Šeit piemēram var atrast kur ir tuvāka „tube” stacija
Bet šeit atrast klusu vietiņu kur var apsēsties ar laptopu
Atvērs konference Dr. Eberhard Bluemel – Fraunhofer Institute profesors. Kur viena no specializācija ir visādas rūpniecības procesa vizualizācija un modelēšana.

Ar šo programmatūru var atrast vājas komponentes pirms tie būs palaisti produkcijā vai apmācīt personālu.
Manuprāt šī konference ir iespēja satikties ar ārzemes zinātniekiem un pētniekiem , atrast ideju vai interesantu cilvēku apvienoties ar kuru var izdarīti kaut ko jauno.
Dalība studentiem ir bezmaksas.
Vairāk uzzināt var www.vare2011.lv.
Viena no visām pazīstāmām web-izstrādes problēmām, vai precīzāk sakot Web - dizaina problēmām, - ir jautājums par radīto un ģenerēto izkārtojumu, ieskaitot HTML markups un CSS stili, un izmantojamās funkcijas (API) priekš JavaScript dažādās pārlūku verisijās. Vispārējā gadījumā, tas attiecas ne tikai uz Internet Explorer, un it īpaši IE6 un IE7, bet arī uz visiem citiem pārlūkiem, t.k. visiem ir kļūdas, ar kurām var samierināties vai pretēji un, piemēram, aktīvi sūtit kļūdu atskaites uz Microsoft Connect.
Šodien mēs iedzilināsimies saderības jautājumos par vienu nepareizu scenāriju un raksturīgām problēmām, pie kurām tas var novest.
Kaut arī kā piemēru es paņemšu konkrētu mājas lapu un tās kodu, tas nenoteic manu attieksmi pret šo resursu – tas ir raksturīgs piemērs, kas ietekmē daudz lietotājus.
Tātad mums ir mājas lapa un daži pārluki, kurus mums vajag „atklāt”, t.k. neskatoties uz pārlūku un tā versiju, pārluka uzvedība ar vienu un to pašu kodu var atšķirties. Noteikt kuru web pārluku lietotājs šobrīd izmanto var gan servera vidē, gan klienta vidē, pēc tiešiem parametriem, kā User Agent String, kā arī pēc netiešiem, kā piemērām uzvedības pazīmēm vai arī viena vai otra atbalsta funkcionalitātes.
// Conditional Comments
<!--[if IE]><![endif]-->
// Unique Objects
if(document.all) …
if(window.attachEvent) …
if(window.ActiveXObject) …
// Unique Behaviors (CSS Hacks, etc.)
* html {}
Klienta vidē bieži vien var redzēt šādu kodu (piemērs no vk.com):
var _ua = navigator.userAgent.toLowerCase();
var browser = {
version: (_ua.match( /.+(?:me|ox|on|rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
opera: /opera/i.test(_ua),
msie: (!this.opera && /msie/i.test(_ua)),
msie6: (!this.opera && /msie 6/i.test(_ua)),
msie7: (!this.opera && /msie 7/i.test(_ua)),
msie8: (!this.opera && /msie 8/i.test(_ua)),
mozilla: /firefox/i.test(_ua),
chrome: /chrome/i.test(_ua),
safari: (!(/chrome/i.test(_ua)) && /webkit|safari|khtml/i.test(_ua)),
iphone: /iphone/i.test(_ua),
ipod: /ipod/i.test(_ua),
iphone4: /iphone.*OS 4/i.test(_ua),
ipod4: /ipod.*OS 4/i.test(_ua),
ipad: /ipad/i.test(_ua),
safari_mobile: /iphone|ipod|ipad/i.test(_ua),
mobile: /iphone|ipod|ipad|opera mini|opera mobi/i.test(_ua)
}
Šajā piemērā ir skaidri redzama problēma ar Internet Explorer, kura noteikti paradīsies jaunajā IE versijā (kas notika ar IE9 Beta izlaišanu), nerunājot jau par „trikiem” ar Opera un Chrome un Safari atdalīšanu, kuriem pamatā ir Webkit, bet tomēr atšķirīgā veidā.
(Ja augstāk parādīts kods Jums liekas pārāk sarežģīts, tas nozīmē ka Jūs vēl neredzējāt Apple versiju.)
Kāpēc tad paradīsies problēmas aprakstītās augstāk? Jo tās neņēm vērā nākotni. Tieši tāpēc tālāk kodā (īpāši lielajā) var pāradīties (var arī pārādās) gabali, kas izskātās apmērām šādi:
if (browser.msie && !browser.msie8){
...
} else {
...
}
Tas, acimredzot, noved pie tā, ka priekš IE9 tiek veikta tāda paša koda virkne kā priekš IE6 un IE7, un tas nav izstradātaju plānotais scenārijs. Tādā veidā mēs saņemsim funkcijas, kas neparadīsies IE9.
Jūs varat detalizēti redzēt, kā tas strādā ar Dev Tools (F12). Kā arī ar Dev Tools palidzību Jūs varat mainīt User Agent String, piemērām Firefox, un pārliecināties, ka šajā gadījumā viss strādā pareizi.
Secinājums: ja Jums tiešām vajag izpildīt kodu atkarībā no pārlūka versijas,vajag domāt par nākotni un Jūsu loģisko izteiksmju uzvedību apkārtēju nosacījumu maiņas gadijumā.
Nosacījums, kas ir paradīts augstāk, var likties dabīgs (vai arī ekonomisks – no divām parbaudēm tika veikta tikai viena), ja mēs sāksim no:

Bet kad mums parādās jaunas detaļas, nosacījums pārstāj strādāt “paredzamajā” veidā un sāk darīt tieši to, kas tajā ir ierakstīts:

Ja Jums tiešām vajag balstīties uz pārluka versijas, augstāk paradīto loģisko izteiksmi vajag atklāt tā, lai izvairīties no iekļautām lamatām:

Ja Jūs gribat balstaties uz versijas numura, nosakot vienu “robežšķirtni” labāk būtu sadalīt to ar numura versijas pārbaudi, bet nekādā gadijumā ne ar viena konkrēta varianta noliegumu:

Noslegumā: ir gadījumi, kad OS vai pārlūku vajag ņemt vērā, ne tikai kļūdu vai plaisu viena vai otra standarta atbalsta dēļ. Piemērām, dažadās mājas lapās Mac pārlūku lietotājiem dažādos scenārijos piedāvā lietot Meta Ctrl vietā, kura tiem nav.
Kad būs izlaista RTM IE9 versija , lai to palaistu vajadzēs Windows 7 SP1?
Nē. IE9 būs iespēja instalēt uz Windows 7 RTM ka ari uz Windows 7 SP1. Ja jūs instalēsiet IE9 uz Windows 7 RTM, instalēšanas procesā būs pievienoti nepieciešami IE9 darbam komponenti automātiski. Windows 7 SP1 gadījumā tie jau būs pieejami un viņu instalēt nevajag.
Tieši tāpēc instalējot IE9 uz Windows 7 RTM vajag pārstartēt datoru, bet Windows 7 SP1 nevajag.
Instalējot IE9 ari instalējas sekojoši komponenti:
http://technet.microsoft.com/en-us/library/ff973977.aspx
Lai padarītu IE9 par labāku pārlūku Microsoft vajadzīgas jūsu atsauksmes, tikai jūs zināt kā IE9 strādā reālajā dzīvē. Lai atstatu atsauksmi vai bug report vajag:
- Ja jūs vel neesam regestrejusies Connect Microsoft tad šeit var pievienoties
- Pēc tam šeit vajag ierakstīt sevi IE Public Feedback programmā. To vajag izdarīt tikai pirmo reizi
- Kad jūs pievienosities, atbildiet uz paris IE komandas jautājumiem
Pēc šo soļu izpildīšanas var vienkārši spiest integrētu pogu IE9 un dalīties ar atrastiem kļūdām

Vairāk informācijas par atsauksmes tipiem ir pieejams pēc autentifikācijas
Citas vietas kur jūs varat atstāt atsauksmes:
Noderīgas saites:

Ar dažām jaunām tehnoloģijām ir tā, ka tās izlaiž, parāda kaut kādas jaunas „features”, bet praksē tie gandrīz nav pielietojami tāpēc, ka produkts ir vēl par jaunu vai tāpēc, ka maz cilvēku zina par to eksistenci. Tas, diemžēl, traucē tehnoloģiju attīstībai. Bet ir arī citi piemēri. Kad tehnoloģija ir jauna un cilvēks iedziļinās tajā, viņš saprot, kāds tai tehnoloģijai ir potenciāls un to kāda viņa ir pielāgojama.
Tā bija ar mani ar WF, kad es atvēru to priekš sevis, tās plašās pielietošanas scenārijus un to, ka to var iebūvēt gandrīz jebkurā aplikācijā, aizvietojot tās daļas, kas ir jūtīgas priekš biznesā loģikā izmaiņām. Tagad tā notiek ar ADO.NET Entity Framework. No sākuma var likties, ka tehnoloģija ir parasta – piekļūšana uz platformas datiem caur objektiem slāņa veidošanai. Ir dažas foršas iespējas ,kas daudz atvieglo dzīvi, ka pielāgojamas mapping sistēmas. Bet īsts EF spēks ir tā paplašinātajā modelē.
Nesen atradu „Lazy loading” patterna realizāciju priekš EF. To var apskatīt MSDN Code Gallery ,kur var vēl atrast daudzus interesantus piemērus, kas var palīdzēt strādājot ar Entity Framework. Par to, kā var tādu paplašinājumu uztaisīt un par pielietošanas scenārijām var izlasīt Jaroslawa Kowalski blogā(šeit, šeit un šeit) vēl tur var atrast padomus, kā labāk debugot EF provaideri
Vēl viens interesants paplašinājums ir noteiktas loģikas izpildīšanā entītijā(apskatīt šeit). Galvenā doma šeit ir tāda: kad mainās kaut kāda entītijas īpašība, izpildās mūsu kods un mēs, piemēram, varam uztaisīt validāciju.
ADO.NET Entity Framework ir jauna tehnoloģija un, manuprāt, ļoti interesanta - ar lielām iespējām un ar tehnoloģijas attīstību parādīsies jauni paplašinājumi.
23.05. Maskavā notiks grandiozs pasākums, kas ir domāts Web izstrādātājiem, Dizaineriem ,Interneta biznesa uzņēmuma vadītājiem – ReMIX 08.
ReMIX (kā var saprast pēc nosaukuma) ir MIX 08 konferences remix,(tāds sajaukums) kas notika martā Las Vegasā. Tur lielai publikai tika demonstrēti visi Microsoft sasniegumi un tehnoloģijas Web platformā, kurus Microsoft izveidoja viena gada laikā. Tiem, kas nebija tajā laikā Las Vegasā, būs iespēja ieraudzīt daudz ko no tā Maskavā. Un to visu stāstīs Stivs Balmers - galvenais Microsoft izpilddirektors, kurš speciāli brauc uz vienu dienu uz Maskavu.
ReMIX 08 ilgst vienu dienu, bet iekļauj sevī visgalvenāko un interesantāko no MIX 08:
1.IE 8, kuru demonstrēs viens no tā tiešajiem izstrādātājiem
2. Silverlight 2 , tehnoloģija, kas pacels lietotāja pieredzes izstrādi jaunajā līmenī.
3. Kā arī jaunas iespējas interoperability – jūs redzēsiet, kā Microsoft produkti mijiedarbojas ar citām kompānijas platformām un tehnoloģijām. Jaunas iespējas paveras visiem izstrādātajiem, PHP uz Windows Server , Moonlight uz Linux. To visu dod Microsoft, Novell un Zend sadarbošanās.
4. Ja jūs redzējāt MIX 08 Las Vegasā, tad jūs droši vien neaizmirsāt Guy Kawasaki un Stiva Balmera interviju. Guy Kawasaki var saukt par pirmo IT evaņģēlistu. Agrāk viņš strādāja Apple un saucās par „Apple Fello”. Tagad viņam ir savas investīcijas stratup biznesā. Vispār Guy ir ļoti pazīstams rietumos. Tieši viņš izdomāja visiem pazīstamos prezentācijas likumus kā „10/20/30. Tā ir rekomendācija tiem, kas vēlas prezentēt savu projektu investoru priekšā – jums ir tikai 10 slaidi, tikai 20 minūtes un šrifta izmēram, kuru jūs lietojat, ir jābūt ne mazākam par 30”.
MIX 08 Guy Kawasaki uzdeva viltīgus jautājumos Stivam par Yahoo, par Flash,un Stivs atbildēja uz tiem visiem. Tas viss bija ļoti jautri un interesanti.(apskatīt interviju, jūs varat šeit )ReMIX konferences organizatori nolēma tādu pasākumu atkārtot un izveidot interviju ar Stivu , kuram tagad jau jautājumus uzdos Antons Nosiks, pazīstams RUNETa dalībnieks, žurnālists un startup menedžers.
5. Būs atvērtais galds un diskusija, kur pēc konferences varēs apspriest un izteikt savas domas.
Tie, kuri netiek uz konferenci, varēs reģistrēties www.remix.ru un apskatīt IT guru uzstāšanos tiešraidē.
Bet es izdarīšu atskaiti un ievietošu te bildes, kad atbraukšu ;)
Visu labu!Līdz tikšanos!