jQuery - 检测 iPhone 通话状态栏
Posted
技术标签:
【中文标题】jQuery - 检测 iPhone 通话状态栏【英文标题】:jQuery - detect iPhone in-call status bar 【发布时间】:2014-11-15 05:36:48 【问题描述】:正如标题所示,jQuery 中是否有任何方法可以检测/确定通话状态栏是否可见(因此如果用户正在通话中),因此我可以相应地更改我的 ios Web 应用程序的 GUI ?
我意识到“确定用户是否在通话中”可能无法通过 javascript。我也知道这可以使用 Objective C 和 Phonegap/Cordova 插件来完成。但是,这不是我正在寻找的解决方案。
我宁愿寻找一种解决方法,它通过一些其他参数来确定这一点,例如通过测量状态栏的高度或以任何方式orientation change event
。有什么想法吗?
PS。如果您想看看我迄今为止毫无结果的尝试,请告诉我。
【问题讨论】:
状态栏不是 WebView 的一部分,所以如果它的任何内容都可以通过 Javascript 访问,我会感到非常惊讶。 这绝对正确,但正如我所说,我正在寻找一种方法来以另一种方式解决这个问题。例如测量画布大小,在类似于 onOrientationChange 的东西上添加监听器等。 【参考方案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:那么你的问题标题,实际上是问题本身,有点误导,不是吗?如果您只关心画布大小,那么如何更改应该(并且显然是)无关紧要。以上是关于jQuery - 检测 iPhone 通话状态栏的主要内容,如果未能解决你的问题,请参考以下文章