jQuery Mobile加载消息

时间:2012-05-01 12:58:25

标签: jquery jquery-mobile mobile

当我将jQuery Mobile链接到我的页面时,页面底部出现了某种加载消息,我无法摆脱它。我试过$ .mobile.pageLoading(true)但它没有用。

我该如何删除它?我没有把它打印到任何地方。

11 个答案:

答案 0 :(得分:32)

1.4装载机文档

1.4文档建议与 Loader小部件进行交互。页面顶部描述了全局更改选项,但它可以在逐个链接的基础上进行细微差别。这也可能有效:

$( document ).on( "mobileinit", function() {
    $.mobile.loader.prototype.options.disabled = true;
});

此外,根据http://demos.jquerymobile.com/1.4.5/loader/http://api.jquerymobile.com/loader/,您可以使用以下代码隐藏加载体验:

// As submitted by @Aras
$.mobile.loading( "hide" );
// (or presumably as submitted by @Pnct)
$.mobile.loading().hide();

选项B - 禁用AJAX加载

禁用AJAX加载将有效删除邮件。

如果您不希望页面从后台加载然后显示中受益,您可以通过在任何锚点上指定data-ajax='false'来使其像“正常”一样加载( <a...>)标记您不希望看到加载消息。您还可以使用全局设置使所有链接正常加载。

要全局禁用(请务必read this page了解其含义及其建议。new docs可能没有警告):

$.mobile.ajaxEnabled=false;

选项C - 隐藏它

如果您想使用1.4 Load Page方法加载外部网页,可以使用showLoadMsg选项,您可以将其设置为false。

仅删除消息的全局选项(在早期版本中可用 - 至少1.0,1.1和1.2 - 读取它here):

$.mobile.loadingMessage = false;

1.2和之前的文档说如果将其设置为false,则不会显示加载消息。

答案 1 :(得分:26)

我使用的是最新版本的JQuery Mobile(目前为1.4)并遇到了这个问题。这里没有任何解决方案适用于我,我认为其中许多解决方案已被弃用。这对我有用:

$.mobile.loading().hide();

$.mobile.loading()会为您提供元素,您可以hide或者做任何您想做的事情。希望这有助于某人。

答案 2 :(得分:9)

如果您使用的是jquerymobile的最新更新(1.2.0) 试试这个

$.mobile.loading( 'show', { theme: "b", text: "", textonly: false});

因为它对我有用。

答案 3 :(得分:8)

我遇到了同样的问题,一个烦人的加载消息和一个橙色框架。这是因为没有添加对jquery样式表的引用。

在标题中添加引用解决了它。

<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">

答案 4 :(得分:3)

对于JQM 1.2.0,Pnct的答案更接近正确。但是,根据提供的API文档,下面的内容会更正确。

$.mobile.loading('hide');

还要确保在HTML文件中至少为JQM结构定义了样式表。否则看起来函数什么都不做。

答案 5 :(得分:3)

在我的情况下(jQueryMobile 1.4.5)我只需要将它添加到我的CSS中,这样我就可以避免导入整个jQueryMobile CSS文件(我不需要它)。

.ui-loader {
  display: none !important;
}

答案 6 :(得分:2)

默认情况下,应隐藏该消息。您可能没有包含官方的jQuery Mobile样式表。

您不应该通过代码手动隐藏或禁用加载消息。

正确的方法应该包括jQuery Mobile 1.4.5的以下样式表:

<link rel="stylesheet" type="text/css" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.css">

这将解决各种问题,包括Chrome中所选元素的蓝色轮廓和Android中的橙色轮廓。

如果此帖子过时,可以在此处找到所有版本的样式表: https://jquerymobile.com/download/

答案 7 :(得分:2)

添加此

<script>
$(document).ready(function(){
  $(".ui-loader").hide();
});
</script>

答案 8 :(得分:1)

您也可以使用smth。像这样删除消息:

$('.ui-loader h1').remove();

答案 9 :(得分:0)

尝试使用$.mobile.hidePageLoadingMsg()

答案 10 :(得分:0)

在我的情况下我加载了错误的css文件(jquery css而不是jquery mobile css)

错:

<link href="../CSS/jquery-ui-1.11.4.custom/jquery-ui.min.css" rel="stylesheet" />

右:

<link href="../CSS/jquery.mobile-1.4.5.min.css" rel="stylesheet" />