启动画面后,白屏会暂时出现

时间:2017-01-05 14:13:31

标签: ionic-framework ibm-mobilefirst

我已经使用IBM mobileFirst 7.0制作了一个应用程序(我也使用了Ionic),我注意到在启动画面之后大约半秒钟,会出现一个白色屏幕。我搜索了网络,有些人说没有注释

autoHideSplash: false,

在wlInitOptions中并添加此代码:

var app = angular.module('app.controllers', []);

//manually hide splash screen
app.run(function($ionicPlatform) {
      $ionicPlatform.ready(function() {
            setTimeout(function() {
                WL.App.hideSplashScreen();
            }, 100);
         });
        })
在我的控制器中(我只有1个)会解决问题。但没有任何反应。 (我也改变了超时但似乎没有任何改变)

我希望在没有白屏的情况下,在启动画面消失后立即看到我的应用程序。我怎么能这样做?

更新&解决方案:

在阅读了Idan的回答之后,我做了一些修正问题的修改。 首先在我的index.html中,在Ionic和所有控制器加载之后,我在<head>的末尾加载了MobileFirst。我改变了,现在在<head>标签中我首先加载:

<!-- mobileFirst initialization -->
           <script src="js/wlInit.js"></script>
           <script src="js/messages.js"></script>

然后我加载Ionic和控制器。

我还将控制器中WL.App.hideSplashScreen()的超时时间从100更改为1500.

不再出现白屏:D

2 个答案:

答案 0 :(得分:1)

我看到你正在使用WL.App API,但你确定你在正确的地方使用它吗? function wlCommonInit被调用后,此API只能被调用

所以我认为你走的是正确的道路。听起来你确实应该尝试扩展启动画面的持续时间,因为你的应用程序中的某些东西需要一段时间来加载(因此白色闪烁),所以通过延长启动画面一段时间,让任何它加载,然后删除启动屏幕可能是一种可能的解决方法。

  1. 确保仅在调用wlCommonInit后调用此API
  2. 再增加一段时间。
  3. 在此处详细了解API:https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.0/advanced-client-side-development/common-ui-controls/#splashscreen

答案 1 :(得分:1)

您还可以使用ng-cloak隐藏任何角度引起的白色闪光。