如何在iPhone上重新打开Safari时检测焦点?

时间:2012-07-22 10:23:02

标签: javascript jquery iphone focus mobile-safari

我有一个适用于iPhone的网络应用程序,我需要在网页聚焦时触发Javascript功能,换句话说,当Safari打开时。

我想要完成的是当用户点击电话链接并开始通话时以某种方式启动计时器。当通话结束时,Safari会再次弹出,计时器结束。

有没有办法做到这一点?

最好的问候

莱纳斯

1 个答案:

答案 0 :(得分:1)

试试这个:

如果触发呼叫的链接,则设置localStorage-item中的实际时间。

$("#yourButton").click(function() {

  var actualTime = new Date().getTime();
  window.localStorage.setItem('callStart', actualTime);

})

之后,您需要在用户结束通话后阅读存储。 您可以在首页上的document.ready中进行设置。

in $(document).ready(function(){})

// check for the localStorageItem
if (window.localStorage.getItem('callStart')) {

  // get it
  var timeStart = window.localStorage.getItem('callStart');

  var now = new Date().getTime();

  /*
   Now calculate here the difference now - timeStart
   and you will get seconds, minutes or whatever you want
  */

  // !!! Dont forget to clear the localStorageItem
  window.localStorage.removeItem('callStart');

}

这就是我想要的。 HTML5-localStorage的使用使您可以存储键/值,如果用户停止应用程序或设备被自动锁定,则数据不会丢失。

希望这有点帮助。

ADDED:您甚至可以将JSON存储为localStorageItem中的值。因此,您可以设置callID并为用户实施呼叫历史记录。