jQuery移动加载轮在某些浏览器中不起作用

时间:2013-04-10 13:55:23

标签: jquery jquery-ui jquery-mobile setinterval clearinterval

我正在使用以下行:

$.mobile.loading('show');

$.mobile.loading('hide');

jquery.mobile-1.2.0.js

适用于Firefox,但不适用于Windows上的Chrome(第26版)和Safari(5.1.7)。是浏览器特定的吗?

1 个答案:

答案 0 :(得分:3)

jQuery Moible有一个web-kit浏览器的问题,所以如果使用任何页面事件(pageshow除外),ajax加载器只有在使用setinterval执行时才能工作:

以下是一个有效的例子:http://jsfiddle.net/LW7MU/

$(document).on('pagebeforeshow', '#index', function(){  
    var loader = setInterval(function(){
        $.mobile.loading('show');
        clearInterval(loader);
    },1);       
});

正如我之前提到的,ajax加载器将成功显示在Chrome和Safari ig pageshow事件中,例如:http://jsfiddle.net/8ay3W/1/

此代码也可以安全地用于Firefox和移动浏览器。

这是针对Chrome和Safari的第一个jQM版本,无论是使用旧版本的alax loader触发还是使用 $ .mobile.loading('show')的新版本。< / p>

其他几乎没有类似的问题。这也是jQM弹出窗口可以以编程方式打开/关闭的唯一方式。