应用程序将在加载前在启动画面后显示白页。我尝试删除mobile-experience
包,添加fastclick
和mobile-status-bar
包,我添加了cordova-plugin-splashscreen
插件,并设置了首选项:
App.setPreference('SplashScreen', 'CDVSplashScreen');
App.setPreference('AutoHideSplashScreen', false);
App.setPreference('SplashScreenDelay', '30000');
我在启动事件回调中隐藏了启动画面:
Meteor.startup(() => {
if (Meteor.isCordova) {
navigator.splashscreen.hide();
}
});
但这些都不起作用,白页仍会在应用加载之前显示在启动画面之后。 有人有什么建议吗?提前致谢
答案 0 :(得分:0)
修改强>
请注意,当{strong> DOM已准备就绪时,Meteor.startup
会在客户端(在您的情况下为移动应用)执行给定的回调。
在客户端上,只要DOM准备好,该函数就会立即运行。
但DOM ready和DOM加载/完全呈现之间的持续时间可能很短。这可能是您出现白屏的地方。
您可以在互联网和SO上进行搜索,以查看这两个事件系列之间的区别:
"DOMContentLoaded"
event / jQuery $(document).ready()
/ Meteor.startup()
"load"
event / jQuery的$(window).load()
原始答案:
好吧,你可能宁愿对你的情况感兴趣,而不是将启动画面隐藏在Meteor的启动画面上,而是让它更长一点来覆盖那个白色的画面...
如果您可以重新添加launch-screen
包,则可以使用:
// in a client-only javascript file
var handle = LaunchScreen.hold();
Template.myUI.onRendered(function () {
handle.release();
});
参考:https://atmospherejs.com/meteor/launch-screen
请注意,默认情况下,launch-screen
包会保留启动画面,直到完全呈现正文。