当我将jQuery Mobile链接到我的页面时,页面底部出现了某种加载消息,我无法摆脱它。我试过$ .mobile.pageLoading(true)但它没有用。
我该如何删除它?我没有把它打印到任何地方。
答案 0 :(得分:32)
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();
禁用AJAX加载将有效删除邮件。
如果您不希望页面从后台加载然后显示中受益,您可以通过在任何锚点上指定data-ajax='false'
来使其像“正常”一样加载( <a...>
)标记您不希望看到加载消息。您还可以使用全局设置使所有链接正常加载。
要全局禁用(请务必read this page了解其含义及其建议。new docs可能没有警告):
$.mobile.ajaxEnabled=false;
如果您想使用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" />