White screen appears for a split second after splash screen

被刻印的时光 ゝ 提交于 2020-01-05 04:10:14

问题


I have made an app with IBM mobileFirst 7.0 (I also use Ionic) and I notice that right after the splash screen and for half a second or so, a white screen appears. I searched the web and some people said that uncommenting

autoHideSplash: false,

in wlInitOptions and adding this code:

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

//manually hide splash screen
app.run(function($ionicPlatform) {
      $ionicPlatform.ready(function() {
            setTimeout(function() {
                WL.App.hideSplashScreen();
            }, 100);
         });
        })

in my controller (I only have 1) would solve the issue. Yet nothing happens. (I also changed the timeout but nothing seems to change)

I want to seee my app right after the splash screen dissappears without the white screen. How can I do that?

UPDATE & SOLUTION:

After reading Idan's answer, I made a few changes that fixed the problem. First of all in my index.html, I was loading MobileFirst at the end of my <head>, after Ionic and all controllers had loaded. I changed that and now in the <head> tag I firstly load:

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

and then I load Ionic and the controllers.

I also changed the timeout of WL.App.hideSplashScreen() in my controller from 100 to 1500.

No white screen appears any longer :D


回答1:


I see you're using the WL.App API, but are you sure you're using it in the right place? This API can be called only after function wlCommonInit was called.

So I think you're on the right path. It sounds like you should indeed try to extend the duration of the splash screen as something in your app is taking a while to load (hence the white flashing), so by extending the splash screen a little while longer, letting whatever it is to load, and then removing the splash screen could be a possible workaround.

  1. Make sure this API is called only after wlCommonInit was called
  2. Increase the duration some more.

Read more about the API, here: https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.0/advanced-client-side-development/common-ui-controls/#splashscreen




回答2:


You can also use ng-cloak to hide any white flashes that angular causes.



来源:https://stackoverflow.com/questions/41487246/white-screen-appears-for-a-split-second-after-splash-screen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!