2012-09-05 62 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

链接腐烂发生。请在这里总结或引用关键位。只有链接的答案可能会被删除,恕不另行通知。谢谢。 –

相关问题