如何查找 chromes 客户区域和尺寸(不包括多功能框下拉菜单)
Posted
技术标签:
【中文标题】如何查找 chromes 客户区域和尺寸(不包括多功能框下拉菜单)【英文标题】:How to find chromes client area and dimensions (excluding the omnibox drop down) 【发布时间】:2014-01-17 23:06:29 【问题描述】:是否可以找到不包括多功能框下拉菜单的chrome客户区域的尺寸。
我正在编写一个 chrome 扩展来监听多功能框事件并弹出一个自定义 div,我希望 div 显示在多功能框下拉窗口的底部。
注意:我知道我可以显示建议,但这不是我想要实现的目标
这可能吗?
我的选择是
将 div top 设置为任意像素高度以抵消下拉菜单(这似乎充满了问题)
将 div bottom 设置为 0px(不是苦行僧)
有什么想法吗?
【问题讨论】:
【参考方案1】:要获得当前可见区域的宽度,您应该这样做:
jQuery(document).width() - jQuery(window).width()
并获得高度:
jQuery(document).height() - jQuery(window).height()
浏览器加载后,您只需根据此高度和宽度设置 div 的位置。
【讨论】:
感谢您的回复,但是这个值不会随着多功能框下拉菜单的打开而改变,我开始认为这是不可能的【参考方案2】:不幸的是,如果没有一些严重的骇客,这是不可能的。这是因为omnibar 下拉菜单不会以任何方式影响渲染窗口,因此其坐标仅对Chrome(软件)本身可见,对客户端站点不可见。
您可以尝试document.getClientRects()
获取渲染屏幕的大小;这可能会在您尝试“猜测”多功能栏下拉菜单的大小时帮助您。
【讨论】:
以上是关于如何查找 chromes 客户区域和尺寸(不包括多功能框下拉菜单)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Chrome 和 DevTools 查找影响页面性能的内存问题,包括内存泄漏内存膨胀和频繁的垃圾回收