如何在应用打开时创建一次事件?
Posted
技术标签:
【中文标题】如何在应用打开时创建一次事件?【英文标题】:How to create one time event when the app opens? 【发布时间】:2014-10-17 11:51:46 【问题描述】:我正在使用 phonegap 开发一款 iPhone 应用。 当用户打开应用程序并转到主页时,我想调用一个函数来将应用程序数据库与实时数据库同步。这个函数应该只被调用一次。也就是说,即使用户再次点击主页,该函数也不应该被调用,因为它已经被调用了。
我想在 onDeviceReady() 函数下调用这个函数。
function onDeviceReady()
if(test.called)
return false;
else
test();
function test()
test.called = true;
我使用了上面的概念,但是当我点击不同的页面然后点击主页时,该函数会再次被调用。即因为它刷新页面将值设置为false。
应用时我应该使用什么事件只调用一次函数?
【问题讨论】:
是单页应用吗?编辑:可能不像你说的那样刷新。我建议将标志存储在 sessionStorage 中。 没有。有 4 页。我在仪表板(我的应用程序主页)上调用此函数 【参考方案1】:我建议你使用 sessionStorage:
function onDeviceReady()
if(sessionStorage.getItem("isSync") === "true")
return false;
else
test();
sessionStorage.setItem("isSync", "true");
只要浏览器打开,会话存储就会存储标志,只要您的 PhoneGap 应用程序打开。
【讨论】:
我试过你的代码。它不适合我。我的意思是当我点击不同的页面并再次点击仪表板时,该函数被调用。 再次尝试比较布尔字符串而不是像我编辑的答案中的干净布尔值以上是关于如何在应用打开时创建一次事件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 中并行化一个 for 循环,只创建一次线程池
如何使用自定义 tf.Estimator 在张量板事件文件中仅创建一份图形副本?