2012-04-28 24 views
2

私は地下鉄のアプリに私の既存のHTML5アプリを移行しようとし、2つの主要なハードル探しています:セキュリティ上の理由に

  1. .innerHtmlがサポートされていないが
  2. 私はbypa行う方法

    1. :$アヤックスはちょうど

    質問(私は、サーバーからのデータ交換のために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:私は同様の問題を抱えていた、と私は私の$に.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); 
    }); 
} 
0

Q1:あなたは動的なコンテンツのため.innerHtmlを使用する場合WinRTのブロックは、例外または警告をスローします。しかし、彼らは常に.innerHTMLを使用するのをブロックしません。

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

Q2:通常のJavaScript私にとってxhrコール作品を使用すると、以下のようなtoStaticHTMLの方法を試してみました。実際に私は私の前にいくつかの簡単なGETまたはPOST要求を送信するために.ajaxを使用すると考えられますが、このことができますいくつかの他の理由

ホープxhrを使用して終了しました。

関連する問題