_ 3.4.1 Webbmeddelanden: mellan dokument Uppgiften introducerar till hur man kommunicerar mellan webbsidor som befinner sig i olika fönster eller där ena webbsidan ligger inbäddad i en §iframe§. Detta kan göras både inom samma domän och mellan olika domäner. Ett exempel är en webbsida med en §iframe§ innehållande en webbsida (från en annan domän) med reklam. Då kan webbsidan sända information till webbsidan i §iframe§:n som den kan använda för att visa riktad reklam. __ Uppgift Gör ett JavaScript-program som använder webbmeddelanden mellan två dokument i olika webbläsarsammanhang. Alla JavaScript-program ska följa kraven under sidan [Krav, 05_ass/requirements/ip3.txt]. __ Exempel Inget exempel ges. __ Tips Ett exempel är om HTML-dokument §A§ innehåller en §iframe§ som har ett HTML-dokument §B§: - Ett JavaScript i §A§ anropar fönsterobjektet för §B§ (med metoden §postMessage§) - En §message§-händelse avfyras då i fönsterobjektet för §B§ (med info om att det kommer från fönstret för §A§) JavaScriptet för §A§ kan exempelvis se ut enligt: § var o = document.getElementsByTagName('iframe')[0]; o.contentWindow.postMessage('Hello world', 'http://b.example.org/'); § JavaScriptet för §B§ kan exempelvis se ut enligt: § window.addEventListener('message', receiver, false); function receiver(e) { if (e.origin == 'http://example.com') { if (e.data == 'Hello world') { e.source.postMessage('Hello', e.origin); } else { alert(e.data); } } } § Notera att detta program kontrollerar: - Att meddelandet kommer från förväntad domän - Att meddelandets syntax är korrekt Detta är mycket viktigt för att allt ska vara säkert! __ Hjälp ~ 05_ass/help/01.txt > [Klicka här för hjälp, helper.dsv@gmail.com, Webbutv I: 3.4.1 Webbmeddelanden: mellan dokument: http://people.dsv.su.se/~pierre/i/i.cgi?href=05_ass/ip3/3.4.1.txt] ½===system_tutoring_message===½ < ~ 05_ass/help/02.txt