如何在应用程序打开时创建一次性事件?

时间:2014-10-17 11:51:46

标签: javascript jquery ios cordova

我正在使用phonegap处理一个iPhone应用程序。 当用户打开应用程序并转到主页面时,我想调用一个功能来将应用程序数据库与实时数据库同步。该函数应该只被调用一次。即使用户再次点击主页面,该功能也不应该被调用,因为它已被调用。

我想在onDeviceReady()函数下调用此函数。

   function onDeviceReady()
{
    if(test.called) {
        return false;
    }else{
         test();
    }
}

function test(){
 test.called = true;}

我使用了上述概念,但是当我点击不同的页面然后点击主页面时再次调用该函数。即因为它将页面设置值刷新为false。

我应该使用什么事件在应用程序中只调用一次该函数?

1 个答案:

答案 0 :(得分:1)

我建议您使用sessionStorage:

function onDeviceReady()
{
    if(sessionStorage.getItem("isSync") === "true") {
        return false;
    }else{
        test();
        sessionStorage.setItem("isSync", "true");
    }
}

只要浏览器处于打开状态,会话存储就会存储该标志,只要您的PhoneGap应用程序处于打开状态即可。