IOS6 Safari Ajax Spinner
问题描述:
我可以在IOS6上做一个CORS Ajax post工作正常,但是有一些非常奇怪的行为表示浏览器正在加载内容,尽管请求已完成。IOS6 Safari Ajax Spinner
我已经提供了演示了此行为的实时网页here
而对于Node.js的源+ Express服务器可用here
注意这只发生在iOS6的,此外它之间的行为不一致例如,您可以导航到同一选项卡上的另一个页面,它将继续旋转,但打开第二个选项卡,加载页面,然后关闭第一个选项卡,然后它就会消失。
此外,如果您运行测试页面,然后使用相同的浏览器选项卡转到其他网站,微调控制器将继续在新网站上旋转。
所以我在寻找的是一些可能使这种行为以合理方式进行的破解,我对不使用Ajax,CORS或POST不感兴趣。
感谢您花时间和看看。
更新:苹果已经证实了这个问题,但没有更多,所以只会拭目以待下一个版本是否修复它。我将停止测试服务器,但保留可用的文件。
答
把它放在你的代码中。
$(document).ready(function(){
getUpdates();
});
function getUpdates() {
$.post("status.jsp", {}, function(status){
// do client-side rendering here
setTimeout(getUpdates, 5000);
}, "json");
}
访问此站点以了解更多信息。 http://www.devthought.com/2012/09/22/understanding-the-ios6-ajax-bugs/
答
我今天刚刚独立发现了这个问题。我减少了测试用例,发现这只发生在触发预检请求的CORS请求上。因此,我认为这与两项要求相继发起的请求有关。选择,然后无论您的要求是什么方法。
只要触发预检科CORS请求,微控制器永远不会消失,在什么阶段您触发请求也无关紧要。
更新:刚刚尝试过iOS7测试版,并且此错误仍存在。
这没有帮助,但谢谢。 – Jim 2013-05-15 13:21:55
我的问题已被Apple关闭并标记为重复,但他们不允许您查看它是重复的问题! – Jim 2013-09-23 09:28:53