【问题标题】:Delay splash screen and render app(iframe)延迟启动画面和渲染应用程序(iframe)
【发布时间】:2016-02-27 04:10:30
【问题描述】:

这是我的 android 和 IOS 应用程序的问题,我真的不知道如何解释,但基本上我将启动画面延迟了 12 秒,之后我得到 然后白屏大约 2 秒然后应用程序呈现。正确地,我尝试将启动屏幕延迟 20 毫秒,以查看应用程序是否运行速度太慢,但事实并非如此。这是代码

config.xml

  <preference name="AutoHideSplashScreen" value="false"/>
  <preference name="ShowSplashScreenSpinner" value="false"/>
  <preference name="FadeSplashScreen" value="true" />  
    <preference name="SplashScreenDelay" value="12000" />
    <preference name="FadeSplashScreenDuration" value="1.0" />

** index.html**

   <html>
<head>
<title>Example App</title>
<meta charset="utf-8">
<link href="css/index.css" rel="stylesheet" type="text/css">
</head>


<script src="cordova.js" type="text/javascript" ></script>
<script src="js/main.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">

// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);

// Global InAppBrowser reference
var iabRef = null;


function onDeviceReady() {
iabRef = window.open('https://www.example.com/app', '_self', 'location=no,toolbar=no');

iabRef.addEventListener('loadstop', function() { 
    navigator.splashscreen.hide();
});

document.addEventListener("backbutton", function (e) {
e.preventDefault();
}, false );
}
</script>
<body>
<iframe src="https://www.example.com/app" style="width:100%; height:100%;">
</body>
</html>

任何想法为什么会发生这种情况?以及如何解决这个问题?我有谷歌并尝试不同的解决方案,但仍然是同样的问题。我感觉它是 iframe,但我怎么还能使用 iframe 来做到这一点?

【问题讨论】:

  • 您知道Google and Apple frown on apps 都是网站包装器吗?
  • @JesseMonroy650 “如果您仔细阅读,请提供不归您所有或管理的网站的网页视图(除非您获得网站所有者/管理员的许可)”你会看到它说not owned我不拥有“example.com”,但我拥有相关网站
  • 好的@James。我这样做的目的是让开发人员免于在开发应用程序上工作数周和数月的心痛 - 只是为了把它扔掉。您想要关于这个确切主题(您的问题)的教程(带有源代码)吗?
  • @JesseMonroy650 是的,如果可能的话,请

标签: android ios cordova iframe phonegap-build


【解决方案1】:

@詹姆斯, 好的。我将向您介绍三个为您展示工作的教程。需要注意的是,本教程仅适用于 Phonegap Build,这是 Adob​​e/Phonegap 提供的基于云的构建服务。这些教程适用于移动设备。

您可能不需要的第一个教程。它简单地强化了 Phonegap Build 的概念。关键是 Phonegap Build 你没有使用 CLIIDE

接下来是演示启动画面的应用程序。它作为可用于 Cordova/Phonegap 的更大的演示/示例批次“核心”插件包含在内。

最后一个教程就是你要找的那个。这是如何使用 *whitelist* 系统在 phonegap 中打开外部网页的示例我没有时间为此写一个完整的教程,但我认为你可以“得到它”。我忘了我确实做过教程

白名单上的最后一个注意事项。从Cordova Tools 5.0.0(2015 年 4 月 21 日)开始需要它。对于Phonegap Build,这意味着从cli-5.1.1(2015 年 6 月 16 日)开始

最后,你在发帖时说,

基本上我已经将启动画面延迟了 12 毫秒。 (原文如此)

无法检测到 1000 个部分中的 12 个部分。所以,我不确定你的意思是什么。

如果您需要对此进行进一步解释,我可以附加到这篇文章中。 - 祝你好运。

差点忘了DEMO

【讨论】:

  • 谢谢。我已经尝试隐藏然后在 DeviceReady 上显示 iframe 并且仍然没有运气,但它似乎已经删除了我上面问题中图像中显示的那些行,尽管白屏仍然显示在启动屏幕之后,它不会真正影响 UI 除非用户只是一个痛苦
  • @James 您的问题对我来说并不完全清楚,您还想解决哪些问题。能否请您转至Google Group of Cordova/Phonegap。那里也有更多帮助。
  • 最初的问题是闪屏不够长,但是在尝试了您上面提供的解决方案后,仍然不够,因为无论闪屏有多长,在它消失后我在 InAppBroswer 完成加载 web 应用程序之前,仍然会看到大约 5 个屏幕的白屏。我已经用我尝试过的新 index.html 编辑了这个问题。基本上我试图去的逻辑不起作用,是只在 Inapp broswer 完成使用函数 loadstop 时隐藏启动画面。
  • @JesseMonroy640 我相信这可能是仅在 inAppBroswer 完成加载 web 应用程序时才隐藏启动画面的正确逻辑。以我有限的知识和理解,我尝试了我的问题中显示的上述代码,但失败了。你有任何其他的逻辑或更正你可能想分享请。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
相关资源
最近更新 更多