我有一个科尔多瓦应用程序,直接从客户端网站加载内容。我已经使用它像config.xml文件中的<content src="https://example.com/ios/index.html">。我已经使用了6 seconds.and的闪屏延迟的问题是当闪屏隐藏黑屏5-10秒后,客户端网站的内容也是shown.and,有时我得到的错误连接到服务器是UNSUCCESSFULL.我也指定了<preference name="loadUrlTimeoutValue" value="700000" />,但仍然有相同的issue.Anyone有相同的问题,为科尔多瓦ios和安卓应用程序?谁能帮助我这个问题。
发布于 2021-05-27 22:01:47
你不应该那样做。现在我不想播放这个脚本,你问A,我告诉你做B,别担心,但这真的不是你应该做的。
您应该让cordova加载一个加载javascript文件cordova.js的index.html。您不需要实际拥有它,js文件将在您编译应用程序时包含在内。
然后,你应该添加白名单插件,以防你还没有它,以便你的网站正确加载。https://www.npmjs.com/package/cordova-plugin-whitelist
您应该为config.xml中的闪屏禁用自动隐藏,如下所示:
<preference name="AutoHideSplashScreen" value="false" />然后你应该让javascript加载一个全屏iframe到你的网站,然后检测何时加载完成:(这应该进入你的index.html,在cordova应用程序中)
<html>
<head>
<title></title>
</head>
<body>
<iframe id='frameid' onload='iframeLoaded();' src='https://mywebsite.com/mypage.html' style='border: 0; width: 100%; height: 100%'>Your browser doesn't support iFrames.</iframe>
<script src='cordova.js'></script>
<script>
iframe = document.getElementById("frameid");
iframe = document.getElementById("frameid");
function ready(callback){
// in case the document is already rendered
if (iframe.readyState!='loading') callback();
// modern browsers
else if (iframe.addEventListener) iframe.addEventListener('DOMContentLoaded', callback);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (iframe.readyState=='complete') callback();
});
}
ready(function(){
setTimeout(function(){
navigator.splashscreen.hide();
},555)
});
</script>
</body>
</html>我已经有几个月没有使用cordova了,但如果我没有忘记任何东西,我就是这样做的--希望我没有忘记……我没有时间来测试这个,但是你知道要点了:
全屏显示带有Iframe的Splashscreen
iframe以完成Splashscreen
如果你遇到任何问题,请告诉我,我可以进一步帮助你。
https://stackoverflow.com/questions/67722801
复制相似问题