2012-04-28 5 views
2

나는 지하철 응용 프로그램으로 기존 HTML5 애플리케이션을 마이그레이션하려고하고 두 가지 장애물을 발견하고있다 : 보안상의 이유로

  1. .innerHtml이 지원되지 않습니다
  2. 내가 bypa 어떻게

    1. : $ 아약스는

    질문 (I는 서버에서 데이터 교환을 위해 JSONP 사용하고 있습니다) 작동하지 않습니다 .innerHtml에 대한 보안 문제가 있습니까?

  3. 다른 대안으로 $ .Ajax가 작동하도록해야합니까?
+0

"작동하지 않음"이란 무엇을 의미합니까? –

+0

WinJS에서 jQuery AJAX 또는 일반 AJAX를 사용하지 않아도됩니다. IIRC에는 대신 사용해야하는 특수한 xhr 객체가 있습니다. 즉, JSONP가 필요하지 않으며 JSON 만 필요합니다. – Andrea

+0

다른 스택 오버플로 질문에서 더 잘 대답합니다. http://stackoverflow.com/questions/10859523/using-jquery-with-windows-8-metro-javascript-app-causes-security-error – techsaint

답변

1

Q2 : 나는 비슷한 문제가 있고, 나는 내 $의 갔지을 변경 :

function getJSON(url, data, callback, errorCb) { 
if (data != null) 
{ 
    var params = []; 
    for (var key in data) { 
     params.push(key + "=" + encodeURI(data[key])); 
    } 
    url += "?" + params.join("&"); 
} 

WinJS.xhr({ url: url }).then(
    function (result) { 
     if (callback != null) 
      callback(result.response, result.status); 
    }, 
    function (result) { 
     if (errorCb) 
      errorCb(result.status); 
    }); 
} 
0

Q1 : 동적 콘텐츠를 .innerHtml를 사용할 때 WinRT 블록은 예외 또는 경고가 발생합니다. 하지만 그들은 항상 .innerHTML을 사용하는 것을 차단하지 않습니다. 당신이 toStaticHTML 방법을 다음과 같이 시도 유무 :

element.querySelector("#myId").innerHTML = "some string" + toStaticHTML(yourHTMLContent); 

Q2 : 일반 자바 스크립트 xhr 전화가 나를 위해 작동합니다. 사실 나는 내가 전에 몇 가지 간단한 GET 또는 POST 요청을 보낼 .ajax을 사용하는 것으로 생각하지만,이 도움이 다른 이유

희망에 대한 xhr를 사용하여 끝났다.

관련 문제