@H_404_1@问题:
使用< Meta name =“apple-mobile-web-app-capable”content =“yes”/>设置,我的所有jsonp请求都被拒绝.我通过设置content =“yes”来读取,您无法更改页面.但我不知道你无法请求外部资源.这个应用程序必须全屏.有没有办法在html5应用程序上使用此标签将iPad设置为全屏模式?
使用< Meta name =“apple-mobile-web-app-capable”content =“yes”/>设置,我的所有jsonp请求都被拒绝.我通过设置content =“yes”来读取,您无法更改页面.但我不知道你无法请求外部资源.这个应用程序必须全屏.有没有办法在html5应用程序上使用此标签将iPad设置为全屏模式?
现在我的请求只是被发送到另一个子域,他们都被拒绝了?任何人都知道如何解决这个问题?允许jsonp并强制全屏模式?
解决方法
所以解决这个问题很棘手.
使用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','*'); }