如何查找 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 客户区域和尺寸(不包括多功能框下拉菜单)的主要内容,如果未能解决你的问题,请参考以下文章

浏览器窗口可视区域大小

js里关于各种尺寸的获取

如何使用 Chrome 和 DevTools 查找影响页面性能的内存问题,包括内存泄漏内存膨胀和频繁的垃圾回收

如何使用 JavaScript 在 Web 浏览器中查找尺寸 [重复]

如何扩大ImageView的点击区域

javascript如何获得网页可见区域的高度(不包括被滚动条卷去的内容) 就是你能看到的网页内容的高度