2

問題: set を 使用<meta name="apple-mobile-web-app-capable" content="yes" />すると、すべての jsonp リクエストが拒否されます。content="yes" に設定すると、ページを変更できないと読みました。しかし、外部リソースをリクエストできないことを知りませんでした。そして、このアプリ全画面表示にする必要があります。このタグを使用して、html5 アプリで iPad を全画面モードに設定する方法はありますか?

現在、私のリクエストは別のサブドメインに送信されており、それらはすべて拒否されていますか? 誰でもこれを回避する方法について考えがありますか? jsonp を許可し、フルスクリーン モードを強制しますか?

4

2 に答える 2

4

したがって、これに対する解決策はトリッキーでした。

JSONPを使用すると、クロスドメインの問題について心配する必要がなくなります。ただし、設定<meta name="apple-mobile-web-app-capable" content="yes" />すると、ヘッダーに Access-Control- Allow -Origin を指定せずにクロス ドメイン リクエストを送信できなくなります。

だからここに解決策があります:

注: これらのリクエストの両方で &jsoncallback=? を指定しています。

動作しません:

function jsonpRequest(req){
    $.getJSON(req,
      function(data) {
        // JSONP will run getJson() above;
    });
}

動作します:

function jsonpRequest(req){
        $.ajax({
          url: req,
          dataType: 'json',
         beforeSend: setHeader,
          //data: data
          //success: callback
        });
        /*
        $.getJSON(req,
              function(data) {
                // JSONP will run getJson() above;
            });*/

    }
    function setHeader(xhr) {

     xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
    } 
于 2011-10-13T20:44:34.017 に答える
0

すでにこれを行っているかどうかはわかりませんが、「callback =?」を追加しましたか?クエリパラメータで?

詳細については、こちらのdataTypeセクションを確認してください:http://api.jquery.com/jQuery.ajax/

于 2011-10-12T23:02:03.150 に答える