既存のhtml5アプリをメトロアプリに移行しようとしていますが、2つの大きなハードルを見つけています。
- .innerHtmlは、セキュリティ上の理由によりサポートされていません
- $ .Ajaxが機能しない(サーバーからのデータ交換にjsonpを使用しています)
質問:
- .innerHtmlのセキュリティ問題を回避するにはどうすればよいですか?
- $ .Ajaxを機能させるには、他にどのような方法が必要ですか?
既存のhtml5アプリをメトロアプリに移行しようとしていますが、2つの大きなハードルを見つけています。
質問:
Q2:同様の問題が発生し、$。getを次のように変更しました。
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);
});
}
.innerHtml
Q1:動的コンテンツに使用すると、WinRTブロックが例外または警告をスローします。しかし、彼らはあなたがいつも使うことを妨げません.innerHTML
。toStaticHTML
次のような方法を試しましたか?
element.querySelector("#myId").innerHTML = "some string" + toStaticHTML(yourHTMLContent);
Q2:通常のJavaScriptxhr
呼び出しが機能します。実は以前は簡単なものやリクエスト.ajax
を送っていたと思っていたのですが、他の理由で使ってしまいましたGET
POST
xhr
お役に立てれば。