Firefox:使用相同的属性(位置、宽度/高度)反复打开弹出窗口
Firefox: Open popup window repeatedly with the same properties (position, width/height)
注意:这在谷歌Chrome中非常有效,在Firefox(42.0)中是个问题
最终,给定一个打开弹出窗口的页面,我想记住关闭时弹出窗口的属性,并以相同的位置和尺寸重新打开它。
更正式一点,我想做以下事情:
- 用户点击"打开弹出窗口"按钮
- 打开弹出窗口
- 用户调整和移动弹出窗口的大小
- 用户关闭弹出窗口
- 用户点击"打开弹出窗口"按钮
- 打开弹出窗口的位置和尺寸与用户上次关闭窗口时相同
我试图将unload
事件的位置/维度存储在cookie中,并在下次将这些值传递给window.open(),但总有一些像素偏移。
本质上,我看到的问题是窗口的属性与传递给window.open()
的属性不匹配。
小型演示:https://jsfiddle.net/8b2j3352/24(您需要允许弹出窗口)
我得到innerWidth 546 innerHeight 218 outerWidth 561 outerHeight 294 screenX 109 screenY 54
这些值均与提供给window.open()
:"width=500, height=200, top=50, left=100"
的属性不匹配
你知道在相同的位置和尺寸重新打开弹出窗口的方法吗?
请注意,这在Google Chrome中可以正常工作,它报告innerWidth 500 innerHeight 200 outerWidth 510 outerHeight 260 screenX 100 screenY 50
Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。
https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 调整缩放窗口高度提升缩放
- javascript skrollr基于动态内容更新窗口高度
- 可以't参见画布中的窗口宽度/高度
- 使用jQuery可以根据窗口大小更改滑块的css高度
- 当移动地址栏出现/消失时,防止更改窗口高度
- 我需要帮助弄清楚一旦窗口的垂直高度被滚动,如何切换一个元素
- 使用JavaScript更改带有窗口高度的元素样式
- 在 ReactJS 中获取视口/窗口高度
- 如何将宽度和高度变量设置为浏览器窗口的宽度和高度
- 如何使文本框的高度与窗口的高度相同
- 如何在angular js中获取窗口高度
- 动画渐变(javascript)背景不会延伸到窗口的整个高度
- 黑莓网站:窗口大小(窗口高度)在黑莓模拟器中返回不正确的值
- 将“窗口高度”指定为“文档高度”
- 获取占x滚动条高度的窗口内部高度
- 使用jQuery如何获取窗口高度
- 固定位置高度比浏览器窗口大百分比
- 更改宽度,使高度适合窗口屏幕
- jquery,列的高度相等,并且至少与浏览器窗口一样高