javascript
  • windows-8
  • winjs
  • webcontext
  • 2013-02-08 2 views 0 likes 
    0

    나는 로컬 컨텍스트에서 페이지를 가지고 있고이 페이지 내에 그 컨텐트가 웹 컨텍스트에있는 iframe이있다. 이제 로컬 컨텍스트에서 웹 컨텍스트로 일부 데이터를 보내려고합니다. 어떻게해야합니까? iframe이 로컬로컬 컨텍스트에서 웹 컨텍스트 (WINJS)로 데이터 보내기

    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); 
    

    은 내가 할 : 나는 일부 데이터를 가지고 아약스 전화를 가지고

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

    ,하지만 난 웹 맥락에서 아약스 호출에 액세스 할 수 없기 때문에 내가 여기에서 일부 데이터를 mapView.html에 보내고 싶습니다.

    문제가 있습니다. 매개 변수 가져 오기를 통해 일부 값을 보내 겠지만 너무 많은 데이터가 있습니다.

    어떤 도움이 필요합니까?

    +1

    아마도 HTML5의 PostMessage를 - 참조 http://stackoverflow.com/questions/12827495/javascript-alert-from-web-context-frame-in-metro-app/12832809 # 12832809 –

    +0

    @ JimO'Neil 이렇게하면 과거에 어떻게했는지 알 수 있습니다. – GotDibbs

    +0

    이 예제에서는 웹 컨텍스트의 데이터를 로컬 컨텍스트로 보냅니다. 나는 이것을 다른 방법으로하고 싶다. 말할 것도없이 중요한 것은 iframe을 동적으로 추가한다는 것입니다. – Safari

    답변

    0

    이 줄을 전환 해보십시오 :이에 ...

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

    을 :

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

    을 그 작동하는 경우, 당신은 여기에 승 8 앱에 (하지 않을 것이라고하고 확인을해야 보안상의 이유로 웹 앱에서), 더 많이 잠그고 싶다면 두 번째 매개 변수를 다음 중 하나로 변경해야한다고 생각합니다.

    • "MS-WWW-웹 : ///"(트리플 슬래시주의)
    • "MS-WWW-웹 : /// 페이지 /"

     관련 문제

    • 관련 문제 없음^_^