나는 지하철 응용 프로그램으로 기존 HTML5 애플리케이션을 마이그레이션하려고하고 두 가지 장애물을 발견하고있다 : 보안상의 이유로
- .innerHtml이 지원되지 않습니다
- 내가 bypa 어떻게
- : $ 아약스는
질문 (I는 서버에서 데이터 교환을 위해 JSONP 사용하고 있습니다) 작동하지 않습니다 .innerHtml에 대한 보안 문제가 있습니까?
- 다른 대안으로 $ .Ajax가 작동하도록해야합니까?
나는 지하철 응용 프로그램으로 기존 HTML5 애플리케이션을 마이그레이션하려고하고 두 가지 장애물을 발견하고있다 : 보안상의 이유로
질문 (I는 서버에서 데이터 교환을 위해 JSONP 사용하고 있습니다) 작동하지 않습니다 .innerHtml에 대한 보안 문제가 있습니까?
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);
});
}
Q1 : 동적 콘텐츠를 .innerHtml
를 사용할 때 WinRT 블록은 예외 또는 경고가 발생합니다. 하지만 그들은 항상 .innerHTML
을 사용하는 것을 차단하지 않습니다. 당신이 toStaticHTML
방법을 다음과 같이 시도 유무 :
element.querySelector("#myId").innerHTML = "some string" + toStaticHTML(yourHTMLContent);
Q2 : 일반 자바 스크립트 xhr
전화가 나를 위해 작동합니다. 사실 나는 내가 전에 몇 가지 간단한 GET
또는 POST
요청을 보낼 .ajax
을 사용하는 것으로 생각하지만,이 도움이 다른 이유
희망에 대한 xhr
를 사용하여 끝났다.
"작동하지 않음"이란 무엇을 의미합니까? –
WinJS에서 jQuery AJAX 또는 일반 AJAX를 사용하지 않아도됩니다. IIRC에는 대신 사용해야하는 특수한 xhr 객체가 있습니다. 즉, JSONP가 필요하지 않으며 JSON 만 필요합니다. – Andrea
다른 스택 오버플로 질문에서 더 잘 대답합니다. http://stackoverflow.com/questions/10859523/using-jquery-with-windows-8-metro-javascript-app-causes-security-error – techsaint