Phonegap online在Iphone上发生错误行为

时间:2012-07-09 14:11:10

标签: cordova

有没有人经历过这样的事情。我有我的回调函数并像这样实现它们。

function onBodyLoad()
    {
        $('.loading').bind('click',function(){
                           console.log("loading screen should show now");
                           $('#teaserslider').hide();
                           $('#resultslider').hide();
                           $('#loading-screen').show();
        })
        document.addEventListener("deviceready", onDeviceReady(), false);


    }


    function onDeviceReady()
    {
        $('#loading-screen').hide();
        setUpDatabase();
        document.addEventListener("online", deviceIsOnline, false);
    }

    function deviceIsOnline(){
        alert("Im online!");
        if (true){
            persistResultHistory();
        }

    }

连接到Wi-Fi,我得到(“我在线!”)弹出3次。我搜索了我的整个项目,它只在这里被调用。那么为什么3次呢?此外,当我打开飞机模式而没有任何连接到互联网时,我得到弹出窗口1次。有人经历过类似的行为吗? 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您正在立即调用该方法,而不是提供方法的引用,因此请替换:

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

使用

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

同时将addEventListener()置于onBodyLoad()函数之外,并使其立即运行。

完整的源代码 - https://gist.github.com/3077171