【问题标题】:IOS6 Safari Ajax SpinnerIOS6 Safari Ajax 微调器
【发布时间】:2013-06-12 12:03:30
【问题描述】:

我可以使 CORS Ajax 发布在 IOS6 上正常工作,但是关于小微调器有一些非常奇怪的行为,表明尽管请求完成,浏览器仍在加载某些内容。

我提供了一个演示此行为的实时页面here

并且node.js + express服务器的源是可用的here

请注意,这只发生在 IOS6 上,此外它在选项卡之间的行为不一致,例如,您可以导航到同一选项卡上的另一个页面,它会继续旋转,但打开第二个选项卡,加载页面,然后关闭第一个选项卡,它就会消失。

此外,如果您运行测试页面,然后使用相同的浏览器选项卡转到不同的站点,微调器将继续在新站点上旋转。

所以我正在寻找一些可能使其行为合理的 hack,我对不使用 Ajax、CORS 或 POST 不感兴趣。

感谢您抽出宝贵时间查看。

更新:Apple 已确认此问题,但仅此而已,因此请等待下一个版本是否修复它。我将停止测试服务器,但保留可用的文件。

【问题讨论】:

    标签: ios ajax mobile-safari cors safari


    【解决方案1】:

    我今天也是独立遇到了这个问题。我减少了我的测试用例,发现这只发生在触发预检请求的 CORS 请求上。所以它让我相信它与连续触发的两个请求有关。 OPTIONS,然后是您请求的任何方法。

    一旦触发预检 CORS 请求,微调器永远不会消失。

    更新:刚刚尝试了 iOS7 测试版,这个错误仍然存​​在。

    【讨论】:

    • 有用的分析,我听说这将在 IOS7 中修复
    • 只是想知道您是否向 Apple 提出了问题?如果是这样,您能否将详细信息添加到 openradar.appspot.com,以便我们可以公开跟踪此问题。
    【解决方案2】:

    把它放在你的代码中。

    $(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/

    【讨论】:

    • 我的问题已被 Apple 关闭并标记为重复,但他们不允许您查看与它重复的问题!
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多