我想在Javascript中检测当前是否显示了智能应用横幅。我已经检查了DOM,但没有横幅的证据。
答案 0 :(得分:4)
这是一个老问题,但也许这对某人有用。我是通过以下方式做到的:
window.matchMedia
确定媒体查询的设备类型和方向; window.innerHeight
在我的实验之后,我有以下实验窗口。显示横幅的不同设备的内容高度值。你可以在下面找到它们:
544px
; 286px
; 475px
; 247px
; 376px
; 148px
; 288px
; 148px
。希望这会对某人有所帮助。
答案 1 :(得分:2)
虽然智能应用横幅未显示在DOM中,但它确实将浏览器窗口的可用高度减少了84像素(这是我用IOS7 + iPhone5获得的数字)。
我将在window.innerHeight中使用此减少来确定是否显示SmartBanner。
(我需要确定用户是否有iPhone4或iPhone5)
移动Safari确实有其他位影响window.innerHeight但最多底部菜单(共享等)和顶部较大的地址栏将可用高度减少69像素(这也是我通过Safari获得的内容) Web Inspector)。
答案 2 :(得分:0)
如果您使用的是jquery:
hasSmartBanner = window.innerHeight !== $(window).innerHeight();