将xul对话框置于屏幕中心

时间:2009-10-23 08:05:22

标签: javascript dialog xul center

在对话框中,我调整了一些图像的大小,然后将窗口强制为sizeToContent。然后,我希望对话框将自己置于屏幕中心。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

我还在周围搜索并向MDC寻找任何会使它居中但却一无所获的东西,所以我创造了这个!这将适用于窗口和对话框。

var w=(screen.availWidth/2)-(document.getElementById('windowID').width/2);

var h=(screen.availHeight/2)-(document.getElementById('windowID').height/2);

window.moveTo(w,h);

您必须更改的唯一内容是windowID到窗口的ID值。 它将适用于所有屏幕分辨率,因为它需要总屏幕宽度和高度然后将其分成两半,从而给出屏幕的中心然后它减去你的宽度和高度设置以考虑它们但是将它们除以一半以抵消没有偏移的窗口就不会居中。

我希望这有帮助!

答案 1 :(得分:1)

最终的结果是一个自动移动的窗口?请不要太烦人:)

无论如何,您必须使用window.moveTo和各种screen属性手动执行此操作(请参阅https://developer.mozilla.org/en/DOM/window

这是一个有趣的例子,虽然它不会使窗口居中,但它确保了它的可见性: http://www.koders.com/javascript/fid3F51B87DFD457428278627805CCA8D39ADC13455.aspx?s=window#L3

答案 2 :(得分:1)

<dialog>元素为您定义moveToAlertPosition()和centerWindowOnScreen()便捷方法,并将它们复制到全局范围,因此您不必使用document.documentElement来限定它们。