2

我使用 iframe 在我的应用程序中显示外部 url,但如果互联网或网站不再可用,我想显示一条错误消息。在我的代码中,我使用的是 deviceready/resume/online/offline 事件。但是我的问题是 deviceready 事件似乎触发并调用了我定义的其他方法,但其他事件似乎没有触发(工作)。因此,如果互联网或网站突然不再可用,则 iframe 不会刷新,只会停留在同一页面/图像上——从用户的角度来看,他们不知道发生了什么。

以下是我的一些代码:

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

       <script type="text/javascript" charset="utf-8">


            function onload() 

            {

                document.addEventListener("deviceready", onDeviceReady, false);

            }


            function onDeviceReady() 

            {

                document.addEventListener("pause", onPause, false);

                document.addEventListener("resume", onResume, false);

                document.addEventListener("offline", onoffline, false);

                document.addEventListener("online", onOnline, false);

                checkUrl();

            }


            function onPause() {

              //code for the pause function     

            }

            function onResume()

            {

                   checkUrl();

            }


            function onoffline()

            {

               //display error message

            }


            function onOnline()

            {

                checkUrl();

            }


            function checkUrl()

            {

               //code to check the url is valid

                alert("checkur");

             }


            function onerror()

          {

                //display error message

           }                


          </script>

        </head>


<body onload="onload()">

    <div id="divFrameHolder" style="visibility:hidden;" scroll="no">

        <iframe allowtransparency src="http://www.XXXXX.com" id="iframe"width="100%" height="100%" scrolling="no" frameborder="0" onerror="onerror();" style="text-align:center;" >

        </iframe>

    </div> 


</body>

在使用 cordova-1.6.0 - 我在 android 和 iPhone 上都遇到了同样的问题

多年来,这一直让我发疯,因为一个活动正在发挥作用,我原以为其他活动也应该发挥作用。我非常感谢您可能获得的任何帮助/建议。

4

0 回答 0