Over a million developers have joined DZone.
Platinum Partner

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

· Web Dev Zone

The Web Dev Zone is brought to you by Stormpath—offering a pre-built Identity API for developers. 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.

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 pre-built, streamlined User Management API for building web and mobile applications. Plan On Building User Management? Buy It Instead. Download Our White Paper To Learn More.

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 }}