27

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

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

4

11 回答 11

34

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...>还有一个全局设置可用于使所有链接“正常”加载。

要全局禁用(请务必阅读此页面以了解含义及其建议。新文档可能没有警告):

$.mobile.ajaxEnabled=false;

选项 C - 只是隐藏它

如果您想使用 1.4加载页面方法来加载外部页面,它有一个可用的选项showLoadMsg,您可以简单地将其设置为 false。

仅用于删除消息的全局选项(在早期版本中可用——至少 1.0、1.1 和 1.2——在此处阅读)是:

$.mobile.loadingMessage = false;

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

于 2012-05-01T13:04:38.757 回答
29

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

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

$.mobile.loading()会给你元素,你可以hide它或做任何你想做的事情。希望这可以帮助某人。

于 2013-11-28T06:48:02.403 回答
10

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

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

<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">
于 2014-01-16T15:47:08.043 回答
9

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

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

因为它对我有用。

于 2012-11-26T08:08:39.103 回答
4

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

$.mobile.loading('hide');

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

于 2012-12-18T07:18:13.247 回答
4

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

.ui-loader {
  display: none !important;
}
于 2015-02-16T17:58:37.650 回答
3

添加这个

<script>
$(document).ready(function(){
  $(".ui-loader").hide();
});
</script>
于 2016-07-08T22:13:24.937 回答
3

默认情况下,该消息应该是隐藏的。您可能没有包含官方的 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/

于 2015-07-22T14:43:19.163 回答
1

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

$('.ui-loader h1').remove();
于 2014-09-22T09:56:17.887 回答
0

尝试使用$.mobile.hidePageLoadingMsg()

于 2012-05-01T13:01:17.090 回答
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" />
于 2015-11-22T13:32:23.173 回答