2

既存のhtml5アプリをメトロアプリに移行しようとしていますが、2つの大きなハードルを見つけています。

  1. .innerHtmlは、セキュリティ上の理由によりサポートされていません
  2. $ .Ajaxが機能しない(サーバーからのデータ交換にjsonpを使用しています)

質問:

  1. .innerHtmlのセキュリティ問題を回避するにはどうすればよいですか?
  2. $ .Ajaxを機能させるには、他にどのような方法が必要ですか?
4

2 に答える 2

1

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);
    });
}
于 2012-04-28T19:12:34.887 に答える
0

.innerHtmlQ1:動的コンテンツに使用すると、WinRTブロックが例外または警告をスローします。しかし、彼らはあなたがいつも使うことを妨げません.innerHTMLtoStaticHTML次のような方法を試しましたか?

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

Q2:通常のJavaScriptxhr呼び出しが機能します。実は以前は簡単なものやリクエスト.ajaxを送っていたと思っていたのですが、他の理由で使ってしまいましたGETPOSTxhr

お役に立てれば。

于 2012-04-29T06:37:55.533 に答える