首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova -在应用程序中加载外部URL内容需要太多时间

Cordova -在应用程序中加载外部URL内容需要太多时间
EN

Stack Overflow用户
提问于 2021-05-27 21:06:11
回答 1查看 241关注 0票数 0

我有一个科尔多瓦应用程序,直接从客户端网站加载内容。我已经使用它像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和安卓应用程序?谁能帮助我这个问题。

EN

回答 1

Stack Overflow用户

发布于 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中的闪屏禁用自动隐藏,如下所示:

代码语言:javascript
复制
<preference name="AutoHideSplashScreen" value="false" />

然后你应该让javascript加载一个全屏iframe到你的网站,然后检测何时加载完成:(这应该进入你的index.html,在cordova应用程序中)

代码语言:javascript
复制
<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

  • Load

  • 应用程序启动

  • 指向https website.

  • Wait

iframe以完成Splashscreen

  • Load

如果你遇到任何问题,请告诉我,我可以进一步帮助你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67722801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档