Google 应用程序脚本和 jquery 移动加载程序提供两个微调器
Google apps script and jquery mobile loader giving two spinners
让我先说我想要一个旋转器...
我不一定关心它是在页面首次启动时加载,还是稍后加载。我遇到的问题似乎也不在乎,因为我已经尝试了两种方法。
此时此刻,我没有在页面顶部声明它。因为我正在进行很多可视化工作,所以我启动它并立即将一些信息传递给微调器(它也启动它):
google.load('visualization', '1', {packages:['controls'], callback: initializeTables});
function initializeTables() {
provideInfo("loading proficiencies (Step 1/12)");
//etc... }
function provideInfo(text) {
$.mobile.loading( "show", {
text: text,
textVisible: true
});
}
那么开始...很好...是...
问题是实际上有 两个 微调器在启动时启动 - 一个在前面,一个在后面。因为前面的跟后面的稍微有点偏移,所以两个都能看到。
如果我稍后打电话:
$.mobile.loading( "hide" );
只隐藏前面的,不隐藏后面的
我发现我可以通过以下方式隐藏两者:
$(".ui-loader").hide();
太棒了。但是,我一开始不想看到两个。我试图弄清楚 jquery 手机 documentation page,但无济于事(它还提到了 "global method docs",但我没能找到 link):
//This does not work:
$( ".ui-loader" ).loader( "option", "text", "Loading Page..." );
//Nor does this:
$( "#notify_div" ).loader( "show" );
$( "#notify_div" ).loader( "option", "text", "Loading Page..." );
有谁知道如何将所有内容都放入一个微调器中,或者为什么要加载两个微调器?
遗憾的是,当前的 JQM 文档是针对尚未发布的 1.5 版本的。需要直接看1.4.5版本的源码。
有一个 JQM 默认值,它在加载页面时显示微调器。您可以在 JQM 初始化时覆盖此行为。
<script type="application/javascript" src="js/jquery-2.2.4.js"></script>
<script>
$(document).on("mobileinit", function () {
$.mobile.changePage.defaults.showLoadMsg = false;
});
</script>
<script type="application/javascript" src="js/jquery.mobile-1.4.5.js"></script>
如果您查看 JQM 未压缩源代码的第 5847 行,您会发现所有可配置的设置。
此外,为了完整起见,还有另一个设置,您可以告诉 JQM 不显示已缓存页面的微调器。看看 JQM 未压缩源代码的第 5122 行:
// This delay allows loads that pull from browser cache to
// occur without showing the loading message.
loadMsgDelay: 50
希望对您有所帮助。
让我先说我想要一个旋转器...
我不一定关心它是在页面首次启动时加载,还是稍后加载。我遇到的问题似乎也不在乎,因为我已经尝试了两种方法。
此时此刻,我没有在页面顶部声明它。因为我正在进行很多可视化工作,所以我启动它并立即将一些信息传递给微调器(它也启动它):
google.load('visualization', '1', {packages:['controls'], callback: initializeTables});
function initializeTables() {
provideInfo("loading proficiencies (Step 1/12)");
//etc... }
function provideInfo(text) {
$.mobile.loading( "show", {
text: text,
textVisible: true
});
}
那么开始...很好...是...
问题是实际上有 两个 微调器在启动时启动 - 一个在前面,一个在后面。因为前面的跟后面的稍微有点偏移,所以两个都能看到。
如果我稍后打电话:
$.mobile.loading( "hide" );
只隐藏前面的,不隐藏后面的
我发现我可以通过以下方式隐藏两者:
$(".ui-loader").hide();
太棒了。但是,我一开始不想看到两个。我试图弄清楚 jquery 手机 documentation page,但无济于事(它还提到了 "global method docs",但我没能找到 link):
//This does not work:
$( ".ui-loader" ).loader( "option", "text", "Loading Page..." );
//Nor does this:
$( "#notify_div" ).loader( "show" );
$( "#notify_div" ).loader( "option", "text", "Loading Page..." );
有谁知道如何将所有内容都放入一个微调器中,或者为什么要加载两个微调器?
遗憾的是,当前的 JQM 文档是针对尚未发布的 1.5 版本的。需要直接看1.4.5版本的源码。 有一个 JQM 默认值,它在加载页面时显示微调器。您可以在 JQM 初始化时覆盖此行为。
<script type="application/javascript" src="js/jquery-2.2.4.js"></script>
<script>
$(document).on("mobileinit", function () {
$.mobile.changePage.defaults.showLoadMsg = false;
});
</script>
<script type="application/javascript" src="js/jquery.mobile-1.4.5.js"></script>
如果您查看 JQM 未压缩源代码的第 5847 行,您会发现所有可配置的设置。 此外,为了完整起见,还有另一个设置,您可以告诉 JQM 不显示已缓存页面的微调器。看看 JQM 未压缩源代码的第 5122 行:
// This delay allows loads that pull from browser cache to
// occur without showing the loading message.
loadMsgDelay: 50
希望对您有所帮助。