2012-09-05 88 views
2

我正在創建一個Phonegap應用程序。在我的應用程序中,我爲「Android」和「ios」使用了不同的CSS,因此如果它是android,我必須加載css。下面的代碼完美工作,但最初頁面加載沒有CSS,然後在phonegap加載後,我的CSS得到加載,每當我顯示該頁面(即)頁面加載後css加載顯示我一個跳舞頁面。任何人都可以幫助加載css在頁面顯示之前,但只有在android平臺的情況下。如何在頁面顯示之前在電話中加載css?

 <script type="text/javascript" > 
    var string; 
    // Wait for PhoneGap to load 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // PhoneGap is loaded and it is now safe to make calls PhoneGap methods 
    function onDeviceReady() 
    { 
     check_img(); 
    } 

    function check_img() 
    { 
    string = device.platform; 
    if(string=="Android") 
    { 
     var head = document.getElementsByTagName('head')[0]; 
     var link = document.createElement('link'); 
     //link.id = cssId; 
     link.rel = 'stylesheet'; 
     link.type = 'text/css'; 
     link.href = 'css/style.css'; 
     //link.media = 'all'; 
     head.appendChild(link); 
    } 
    } 
    </script> 
+0

你可以嘗試在document.ready()而不是deviceReady()中激發check_img()函數嗎? document.ready()通常會更早觸發。 – dan

+0

@dan問題解決了我擴展了我的splashscreen時間,在那裏我得到時間加載我的css在後臺。但它只能工作在1.7.0或更高版本。 – karnhick

+0

好聽。我仍然在document.ready()中觸發check_img()。除非它使用phonegap功能,否則,如果你在deviceready中調用它,等待不必要的時間太長() – dan

回答

1

我在這裏找到答案。 http://simonmacdonald.blogspot.in/2012/04/phonegap-android-splashscreen-just-got.html

,當你設置你做你的mainactivity.java文件

super.setIntegerProperty("splashscreen", R.drawable.splash); 
    super.loadUrl("file:///android_asset/www/index.html", 10000); 

下一個閃屏這將顯示你的飛濺屏幕10秒鐘,然後你的index.html頁面將被加載。通知我然後說。是的,這是正確的顯示啓動屏幕是一個阻止電話。在啓動屏幕顯示時,您的.html/.js/.css不會在後臺加載。那麼,這一切都在改變,以便您的啓動畫面顯示在一個線程上,而您的應用程序加載到另一個線程的啓動畫面下。最好的事情是你不需要對你的代碼做任何改變。只要像平常一樣繼續調用閃屏即可。

+0

鏈接腐爛發生。請在這裏總結或引用關鍵位。只有鏈接的答案可能會被刪除,恕不另行通知。謝謝。 –

相關問題