0

我有一个程序,我在本地上下文中有一个页面,在这个页面中我有一个 iframe,它的内容在 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 发送一些值,但我有太多的数据。

有什么帮助吗?

4

1 回答 1

0

尝试切换此行:

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

...对此:

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

如果可行,您应该可以在 Win 8 应用程序中执行此操作(出于安全原因,不会在 Web 应用程序中执行此操作),但如果您想进一步锁定它,我认为您只需要更改第二个参数为以下之一:

  • “ms-www-web:///”(注意三斜杠)
  • “ms-www-web:///pages/”
于 2013-02-12T13:55:59.947 回答