【问题标题】:jQuery - detect iPhone in-call status barjQuery - 检测 iPhone 通话状态栏
【发布时间】:2014-11-15 05:36:48
【问题描述】:

正如标题所示,jQuery 中是否有任何方法可以检测/确定通话状态栏是否可见(因此如果用户正在通话中),因此我可以相应地更改我的 iOS Web 应用程序的 GUI ?

我意识到“确定用户是否在通话中”可能无法通过 javascript。我也知道这可以使用 Objective C 和 Phonegap/Cordova 插件来完成。但是,这不是我正在寻找的解决方案。

我宁愿寻找一种解决方法,它通过一些其他参数来确定这一点,例如通过测量状态栏的高度或以任何方式orientation change event。有什么想法吗?

PS。如果您想看看我迄今为止毫无结果的尝试,请告诉我。

【问题讨论】:

  • 状态栏不是 WebView 的一部分,所以如果它的任何内容都可以通过 Javascript 访问,我会感到非常惊讶。
  • 这绝对正确,但正如我所说,我正在寻找一种方法来以另一种方式解决这个问题。例如测量画布大小,在类似于 onOrientationChange 的东西上添加监听器等。

标签: javascript jquery iphone web-applications statusbar


【解决方案1】:

是的,就是这么简单 - 只需测量画布高度!假设用户使用 iPhone:

var biggerStatusBar = false;
var screenHeight = window.screen.height;
var canvasHeight = $(document).height();
if(screenHeight-canvasHeight==40)
biggerStatusBar =true;

alert("in-call status bar active: " + biggerStatusBar);

【讨论】:

  • 没错,我会彻底测试一下,如果需要,我会回来修改。
  • 例如,我认为在进行转向指示时会出现类似的状态栏,所以我希望它对画布大小有相同的影响。
  • 是的,我非常清楚这一点,这对我没有任何影响。我想要的只是能够根据画布大小的变化来调整 GUI。
  • @Johnathan:那么你的问题标题,实际上是问题本身,有点误导,不是吗?如果您只关心画布大小,那么如何更改应该(并且显然是)无关紧要。
猜你喜欢
  • 2014-07-13
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 2011-03-20
  • 2023-03-10
  • 2017-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多