【问题标题】:How to position a p:dialog outside of the browser or iframe window如何在浏览器或 iframe 窗口之外定位 p:dialog
【发布时间】:2011-12-12 23:04:29
【问题描述】:

在我的应用程序中,我在主页中呈现一个或多个 iframe 元素,每个元素都显示数据记录的摘要。我想要做的是允许用户单击该显示中的某处并弹出一个显示更多数据和输入控件的 p:dialog 框。

问题是对话框只显示在 iframe 的范围内。有没有办法让它在 iframe 矩形或浏览器窗口的边界之外绘制?

如果没有,是否有其他 JSF 组件可以做到这一点?

我已经在 primefaces 论坛上发布了这个问题,但我认为他们太忙了,无法回复。

【问题讨论】:

  • 您的标签完全具有误导性 - 这是一个 html/css 问题。

标签: html jsf-2 primefaces


【解决方案1】:

不,这是不可能的。所有现代浏览器都阻止任何视觉元素离开浏览器渲染区域的范围。这是为了防止网页欺骗真正的操作系统窗口等。出于此限制的目的,iframe 也被视为单独的“浏览器”。

此外,这是纯粹的 html/css/浏览器限制。用到的工具(jsf/asp.net/php/etc)不进去。

更多信息(来自 IE6/sp2+):

关于窗口限制

http://msdn.microsoft.com/en-us/library/ms537638(v=vs.85).aspx

这些限制同样适用于所有现代浏览器(不是说 IE6 是现代的,但这就是我的观点。)

【讨论】:

  • 弹出窗口是一个全新的浏览器窗口,因此可以识别。现代浏览器强制地址栏保持在“弹出”窗口的顶部,以提醒人们这一事实。
  • 好的,我想你回答了我的问题——当用户点击时,我需要弹出一个新的浏览器窗口。像 p:dialog 这样的 javascript 实现的对话框将不起作用。我检查了你的回答谢谢。
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多