2016-07-11 36 views
0

該應用程序將在加載前顯示啓動畫面後顯示白頁。我試圖刪除mobile-experience包,加fastclickmobile-status-bar包,我加了cordova-plugin-splashscreen插件,並設置偏好如下:meteor js cordova白頁在應用程序加載前顯示啓動畫面後

App.setPreference('SplashScreen', 'CDVSplashScreen'); 
App.setPreference('AutoHideSplashScreen', false); 
App.setPreference('SplashScreenDelay', '30000'); 

我藏在啓動事件回調閃屏:

Meteor.startup(() => { 
    if (Meteor.isCordova) { 
     navigator.splashscreen.hide(); 
    } 
}); 

但這些都不要沒有工作,白色頁面在應用程序加載之前仍然在閃屏之後顯示。 有人有什麼建議嗎?在此先感謝

回答

0

編輯

請注意,Meteor.startup執行在客戶指定的回調(手機應用程序在你的情況)時DOM就緒

在客戶端上,只要DOM準備就緒,該函數就會運行。

但是DOM準備和DOM加載/完全呈現之間可能會有一個小的持續時間。這可能是您的白色屏幕出現的地方。

你可以在互聯網上搜索和SO看到這兩個事件的家庭之間的區別:


原始回答:

好,而不是隱藏啓動屏幕上流星啓動時,你可能更是拿着它一點點的時間來覆蓋白色屏幕感興趣,你的情況......

如果可以重新添加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包包含閃屏直到身體完全呈現。

+0

我刪除了'mobile-experience'並重新添加'fastclick'' mobile-status-bar''啓動畫面,它也不起作用。 –

+0

正如我上面的回答所說,這不僅僅是包裝的問題。如果您在流星啓動時手動隱藏啓動畫面,則可能無法爲您的應用提供足夠的時間來渲染其主體並加載其內容。你應該刪除你的隱藏,並可能保持啓動屏幕比默認更長。 – ghybs

+0

當Meteor.startup觸發時,可能會出現一種誤解。我會更新答案以提供更多細節。 – ghybs

相關問題