1

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

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

有没有办法做到这一点?

最好的祝福

莱纳斯

4

1 回答 1

1

试试这个:

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

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

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

})

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

在 $(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 的使用使您可以存储键/值,并且如果用户停止应用程序或设备被自动锁定,数据不会丢失。

希望这个对你有帮助。

添加:您甚至可以将 JSON 作为值存储在 localStorageItem 中。因此,您可以为您的用户设置一个 callID 并实现一个呼叫历史。

于 2012-07-22T12:21:10.463 回答