将数据从本地上下文发送到Web上下文(WINJS)

时间:2013-02-08 13:42:10

标签: javascript windows-8 winjs webcontext

我有一个程序,我在本地上下文中有一个页面,在这个页面中我有一个iframe,其内容在web上下文中。现在我想将一些数据从本地上下文发送到Web上下文。我该怎么做。

本地

var node = document.createElement("iframe");
node.src = 'ms-appx-web:///pages/mapView/mapView.html?latitude=' + coordinates.latitude + '&longitude=' + coordinates.longitude;
node.style.width = '100%';
node.style.height = '100%';
node.onload = function () {
    node.contentWindow.postMessage(JSON.stringify(data), "ms-wwa-web://" + 
                                   document.location.host);
}
document.querySelector('#insert').appendChild(node);
我在iframe中的

window.addEventListener('message', receiveMsg, false);

我有一个ajax调用,我得到了一些数据,但因为我无法访问web上下文中的ajax调用,我想将这里的一些数据发送到mapView.html。

问题是。我会通过Get Parameter发送一些值,但是我有太多的数据。

任何帮助?

1 个答案:

答案 0 :(得分:0)

尝试切换此行:

node.contentWindow.postMessage(JSON.stringify(data), "ms-wwa-web://" + 
                               document.location.host);

......对此:

node.contentWindow.postMessage(JSON.stringify(data), "*");

如果可以,你可以在Win 8应用程序中这样做(出于安全原因,不会在网络应用程序中这样做),但是如果你想要将其锁定更多,我认为你只需要将第二个参数更改为以下之一:

  • “ms-www-web:///”(注意三次斜杠)
  • “MS-WWW-网页:///页/”