E09 - Totally Tool Time

Relevanta dokument
E07 "Greased Lightning"

Webbprogrammering, DA123A, Studiematerial 4

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

Blackboard learning system CE

Riktlinjer för Fakturapresentatör

Visma Proceedo. Att logga in - Manual. Version Version /

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Visma Proceedo. Att logga in - Manual. Version 1.4. Version 1.4 /

JavaScript del 3 If, Operatorer och Confirm

Det ska endast finnas två bilder av samma typ på spelplanen.

Viktigt angående Kund- och Förskrivarportalen

Hja lp till Mina sidor

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

E12 "Evil is going on"

E13 "Behind the Wild"

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

E07 "Greased Lightning"

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

Användarhandledning. edwise Webbläsarinställningar

2 Inloggning. 3 Inställningar. Användarmanual systeminställningar Förskrivarportalen

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

MVC med Javascript och Ajax. Filip Ekberg

Användarhandledning. edwise Webbläsarinställningar

Användarhandledning. edwise Webbläsarinställningar

Release notes. Axiell Arena version 3.3

Rensa cache-minnet hos din webbläsare

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Instruktioner för Articulate Storyline 2

Mappar och filer för webbsidor

Handledning för redigering av lagsidor.

Visma Proceedo Att logga in - Manual

Om du kommer att arbeta på en produktionsanläggning som har en egen säkerhetsintroduktion som nätkurs måste du också avlägga den.

Carl-Oscar Hermansson WEBB DESIGN

Exemple på Tentauppgifter Webbprogrammering

In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.

PageSpeed Insights. (utgångsdatum har inte angetts)

Redaktörens Lathund för Glokala. Så här redigerar du en redan befintlig hemsida. Så här skapar du en länk till en extern hemsida

Formulär, textsträngar och en del annat

ÄNDRA EN LÄNK. Guiden förutsätter att det finns en artikel med en redan skapad textlänk som ska ändras.

Viktiga inställningar för Isolda webshop

Struktur & Layout med CSS

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

JAVASCRIPT. Beteende

Cookies tillåtna Popup fönster tillåtna För IE 9 11, behöver blandat innehåll tillåtas OBS!

Laboration 1 XML, XPath, XSLT och JSON

Instruktioner för Articulate Studio 13

Inloggning till Winst och installation av Java för användare med Mac

En bortsprungen katt

1. Uppdateringsmodul (CMS)

Instruktion för åtkomst till Nyps via LstNet

LADDA UPP EN PDF-FIL OCH LÄNKA TILL DEN I DIN ARTIKELTEXT

Fönsterhanterare i JavaScript PWD, Personal Web Desktop

Kursplanering Utveckling av webbapplikationer

Guide. Webbsidor i Studentportalen. Innehåll. Uppdaterad:

ANVISNING Om det inte lyckas att logga in i Kelain på en Windows-dator Innehåll

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

INLOGGNING 1 (6) Det finns två sätt att logga in i Privera: Med engångslösenord till mobiltelefon Med engångslösenord till e-post

1. Hur öppnar jag Polisens blanketter / formulär, trycksaker och annat som är i PDF-format?

Inloggning till Treserva via extern dator

Materialspecifikation för alla Portalens mässajter

JavaScript in SharePoint and not just for Apps. Wictor Wilén

A" utveckla kartor med responsiv design. Johan Lah8 Geografisk IT- utvecklare Stadsbyggnadskontoret, Malmö stad

ANVISNING Om det inte lyckas att logga in i Kelain på en Mac-dator Innehåll

Innehåll Uppgifter ipad utbildning

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

ORDLISTA WEBBDESIGN 100P

Rekommenderad IT-miljö

03/12/2015. Logga in på: b.socrative.com eller ladda ner appen

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Extramaterial till Matematik Y

Starta en webbläsare (t ex Internet Explorer, Mozilla Firefox, Safari) Skriv in nedan adress:

Manual för visionutv.net Redigera

LICENSAKTIVERINGSGUIDE. Design Collaboration Suite

Google Analy+cs. Umeå universitet

INSTRUKTIONER FÖR DIGITAL ANSÖKAN AV UTVECKLINGSBIDRAG OCH BIDRAG TILL INTERNATIONELLT KULTURSAMARBETE

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

SNABBGUIDE för Windows Media Encoder (media kodaren) - Sänd live med din webbkamera

Unifaun OnlinePrinter

Användarhandledning. Man trycker på Visa certifikat

Användarmanual för Content tool version 7.5

Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014

Internet A. HTML Grunder Maximilien Chiang 1

Webbserver och HTML-sidor i E1000 KI

PROGES PLUS THERMOSCAN RF. Instruktionsmanual V

Användarmanual Administratör

2011 Prislista. Din resa börjar här!

Dok nr OSF/AV-15:003, ver E Inloggning till Treserva via extern dator

Introduk+on +ll programmering i JavaScript

Användarhandledning Version 1.2

Webbmanual hittaut.nu

PixlrGuiden - av AlizonWeb PIXLRGUIDEN. av AlizonWeb. Copyright Notice: Copyright AlizonWeb, All rights reserved. Sida 1

MANUAL MOVEON Allmänt Använd Chrome som webbläsare för moveon (använd inte Explorer). Om moveon funktioner och terminologi.

PAINtIT Smärtdagbok Användarmanual för Patient

Konfigurera Wordpress som Hemsida istället för blogg

Hur fungerar säker e-post?

PageSpeed Insights. Ta bort JavaScript- och CSS-kod som blockerar renderingen från innehåll ovanför mitten

Ladda hem administratörs klient För att mata in resultaten i systemet används ett speciellt administratörs program. Det finns att ladda hem från:

Statistiska centralbyrån

Transkript:

E09 - Totally Tool Time Dagens agenda Fönster Systemdialoger Location History

DOM och BOM DOM Document Object Model BOM Browser Object Model

BOM hanterar Insorterat under denna rubrik hittar vi: Timers och intervall Webbläsarfönster (och ramar, frames) - Positioner - Storlekar Systemdialoger (alert, prompt, confirm) Location (adressfält) Historik...

Fönster Window-objektet ligger till grund för vår miljö. Vi kan bland annat skapa nya windowobjekt. Om vi använder frames (mot all förmodan) så är varje frame ett eget fönster.

Öppna egna fönster var mywindow = window.open("url", "namn", "egenskaper"); height Definierar höjden i pixlar > 100 width Definierar bredden i pixlar > 100 left Var ska fönstret befinna sig på skärmen? top Var ska fönstret befinna sig på skärmen? location Ska det finnas en locationbar? yes/no (Ej, FF) menubar Ska det finnas en menubar? yes/no resizable Ska det gå att ändra storlek på fönstret? yes/no (EJ,FF) scrollbars Ska det finnas skrollbars? yes/no status Ska det finnas en statusbar? yes/no (Ej, FF) toolbar Ska det finnas en toolbar? yes/no window.open("sida.html", "", "height=200px,status=yes"); Whitespaces ej tillåtet

Påverka öppnade fönster mywindow.moveby(x,y) mywindow.moveto(x,y) mywindow.resizeby(x,y) mywindow.resizeto(x,y) mywindow.scrollby(x,y) mywindow.scrollto(x,y) mywindow.blur() mywindow.focus() mywindow.close() Flyttar fönstret x och y pixlar (- för minska) Flyttar fönstret till x och y pixlar på skärmen. Ökar/minskar storleken med x och y pixlar (- för minska) Ändra storleken till x och y pixlar Skrolla x och y pixlar. Skrolla till x och y pixlar. Frånta fokus Ge fokus Stäng fönstret var mywindow = window.open("test.html", ""); mywindow.moveby(12, -100);

Fönsterstorlek/position Att läsa ut storlek och position på fönster och dokument är en djungel och här får man ofta skriva mycket kod för att hitta en crossbrowsersäker lösning, eller använda ett ramverk. document.documentelement.clientwidth window.screentop window.outerheight window.innerwidth window.screenx window.innerheight document.body.clientheight document.body.clientwidth document.documentelement.clientheight window.screeny window.outerwidth window.screenleft

... Ersättare för target="blank" Så här var det tänkt att fungera, frågan är dock hur aktuellt detta blir med tanke på HTML5 <a href="http://nyttfönster.se" class="popup">nytt föns.</a>... <a href="http://ejnyttfönster.se">ej nytt fönster</a> 1) Loopa igenom samtliga a-taggar i dokumentet 2) Alla som har classname == "popup" får ett onclick-event 3) När eventet körs så öppnas ett nytt fönster med anropande länks adress satt. 4) Metoden returnerar false. + Om man inte har JavaScript aktiverat så fungerar allt lika bra ändå.

Komma åt nyskapade fönster Man kan tycka att nedanstående kod borde fungera... Eller? var mywindow = window.open("minsida.html", ""); var bodynode = mywindow.document.getelementsbytagname("body")[0]; bodynode.innerhtml = "Detta borde väl fungera eller?"; Problemet är att det tar ett tag för sidan att ladda klart. Vi måste därför koppla en händelsehanterare och vänta.. mywindow.onload = mywindowok; Detta verkar dock inte fungera i IE varför vi helt enkelt får lägga kod i vårt nyskapade fönster som anropar förälderfönstret när det är klart. // I minsida.html: var parent = window.opener; window.onload = parent.windowtester.populatepopup;

Systemdialoger alert("akta tummen!"); var ok = confirm("prata med Wilson?"); // "OK" -> true // "Avbryt", "X" -> false prompt("ange favoritverktyg", "Sågen");

print(); Systemdialoger

onbeforeunload Vi kan be användaren att inte lämna sidan via eventet onbeforeunload: window.onbeforeunload = function(){ if(changesnotsaved){ return "Du har inte sparat dina ändringar!"; } };

Location Genom locationobjektet kan vi få tillgång till information om den sida som besöks just nu, byta sida och ladda om sidan. window document window.location document.location location

location http://www.test.com:8080/index.html?id=1432&name=tim#ankare location.hash location.host location.hostname Ger/sätter: #ankare Ger/sätter: www.test.com Ger/sätter: www.test.com:8080 location.href location.pathname Ger/sätter hela URIn: http://www.test.com:8080/index.html?id=1432#ankare Ger/sätter: /index.html location.port Ger/sätter: 8080 location.protocol location.search Ger/sätter: http: Ger/sätter:?id=1432&name=Tim När någon av ovanstående (hash undantagen) sätts, så laddas sidan om.

Byta sida/ladda om location.assign("http://sunet.se"); window.location = "http://sunet.se"; location.href = "http://sunet.se"; För att ladda om: location.reload(); // ladda ev. från cache location.reload(true);// ladda om från server Räkna inte med att någon kod körs efter detta.

Historik Windowobjektet har en history-egenskap som vi kan använda för att navigera i webbläsaren med: window.history.back() Gå ett steg tillbaka i historyn. window.history.forward() Fungerar som Framåtknappen. window.history.go(-4) window.history.length window.home() Navigerar framåt eller bakåt i historyn Antalet poster i fönstrets historik Fungerar som Hemknappen. I IE>=8, Safari>= 3, FireFox, Chrome, Opera så skapas ett nytt historyobjekt när vi påverkar location.hash. Detta kan vi utnyttja för att inte ta bort back/forward-funktionalitet vid exempelvis ajax-applikationer samt att se till att de går att länka direkt till dynamiskt genererade delar av vår applikation.

HTML5 I HTML5 föreslås det en förbättring av historikhanteringen i webbläsarna genom: history.pushstate({mode: "writing"}, "Writing", "http://site.se/ajaxapp#writing"); window.onpopstate = function(e) { var state = e.state; if(e.state && state.mode === "writing")... } // history.replacestate(state, title, url) 10 11.5 4 5 5

Client Detection Capability Detection (feature detection): if(history.pushstate) { history.pushstate({mode: "writing"}, "Writing", "http://site.se/ajaxapp#writing"); } else {... } Undvik "User-agent detection" om du inte har ett speciellt syfte.