Over a million developers have joined DZone.

Use WinJS to post a message from an iFrame to your Win8 App

· Web Dev Zone

Easily build powerful user management, authentication, and authorization into your web and mobile applications. Download this Forrester report on the new landscape of Customer Identity and Access Management, brought to you in partnership with Stormpath.

Sometimes, you display information in an iframe and you need to communicate it back to your Windows 8 app. You may think like I did “just navigate to a specific page with the arguments in the URL and make the Win8 app read the location of the iframe”…. Cool but all you’ll get is an “access denied”.

To have this kind of scenario, you have to do some more code on the server page …


The solution is maybe well known by the web developpers : use the postMessage function.

In the page displayed by the Windows8 App in an iframe, just call the postMessage on the window to send a message to the app. Don’t forget to set the origin to “*”:

window.parent.postMessage("this is a messsage very important","*");

In the windows 8 app, you can register to this kind of message with a very classic code. Also,you can check the origin field to be sure that the message comes from your web site.

window.addEventListener("message", messageReceived, false);
 
function receiveMessage(e) {
    if (e.origin === "http://jonathanantoine.com") {
 
    }
};

The Web Dev Zone is brought to you by Stormpath—offering a complete, pre-built User Management API for building web and mobile applications, and APIs. Download our new whitepaper: "Build Versus Buy: Customer Identity Management for Web and Mobile Applications".

Topics:

Published at DZone with permission of Jon Antoine , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}