【问题标题】:Cordova Network Information Plugin: broken?Cordova 网络信息插件:坏了?
【发布时间】:2014-06-20 22:40:44
【问题描述】:

如果设备无法连接,我将在此页面尝试从文件系统加载备份

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/about.css"/>
</head>

<body>
    <ons-screen>
        <ons-navigator title = "About">
            <ons-page id="page" font-align="center">

            </ons-page>
        </ons-navigator>
    </ons-screen>
</body>
<script type="text/javascript">
    var page = document.getElementById("page");

        if(navigator.connection.type != Connection.NONE){
            page.innerHTML='<iframe src="http://www.website.com/about/" style="width:100%; height:100%;"></iframe>';
        }else{
            page.innerHTML='<iframe src="aboutBackup.html" style="width:100%; height:100%;"></iframe>';
        }
</script>
</html>

我使用 github 说明 (https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md) 安装了插件

我不知道为什么,但是在我检查连接类型的第 22 行,我得到了 Uncaught TypeError: Cannot read property 'type' of undefined。

【问题讨论】:

    标签: javascript cordova phonegap-plugins


    【解决方案1】:

    您需要在文件中添加cordova.js。

    <script type="text/javascript" src="cordova.js"></script>
    

    然后听设备准备功能并为目标射击

    <script>
    document.addEventListener("deviceready", onDeviceReady, false);
    
    function onDeviceReady()
    {
    
        if(navigator.connection.type=='none')
        {
             alert("Wait I'm offline.");
        }
        else
        {
              page.innerHTML='<iframe src="aboutBackup.html" style="width:100%; height:100%;"></iframe>';
        }
    }
    </script>
    

    您必须在设备就绪功能触发后执行任何操作。如果没有 cordova.js,cordova 插件将无法工作。

    【讨论】:

    • 我认为这应该可行,但事实并非如此。我的 www/ 目录中有一个 cordova.js,我不相信我应该在那里。我在浏览器中运行它并检查了控制台,它给出了诸如“未捕获的 ReferenceError:require is not defined”之类的错误,我将尝试将该文件移出项目。
    • 移动它只是给了一个文件未找到异常
    • 浏览器无法使用cordova.js,您需要在模拟器或设备中运行该项目。 @deavisdude
    • 我在浏览器中运行它的原因是因为在我的 android 设备和 ios 模拟器上,页面上什么也没有发生,我不知道在哪里可以看到任何错误。
    • 在设备准备就绪时发出警报,并查看应用程序加载到设备或模拟器后是否显示。如果其他事情是正确的,它应该可以工作。要查看来自 android 的错误,您可以在 android 设备与计算机连接时打开 eclipse logcat,然后使用 CLI 安装。然后您可以检查错误。不能说ios。哦!我用这个系统来查看windows的错误,不知道这是否能在mac上工作@deavisdude
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多