L
lukas
All,
I need the following functionality that works like a charm in Firefox
1.0+:
window.innerWidth = pNewWidth ;
window.innerHeight = pNewHeight;
In other words, I need a cross-browser way to resize the inner,
renderable, client area of the browser. We can not depend on this
being a window.open() child.
The window.resize() method resizes the WHOLE window. Depending on if
the user has several toolbars, the status bar, and any other optional
window goodies that make the window an indeterminate size, I can not
guarantee that the resize() method will meet my needs.
Imagine having a fixed-size image or plugin that should encompass the
whole renderable body of the given window, and you need to resize it.
In IE, there is no way (to my knowledge) to resize just this area.
Since there is also no way to determine the FULL size of the window, I
can't get tricky and compute the offset myself.
Here is the method I have so far, that does not work for IE. I was
hoping the document.body.offsetWidth/Height would entail the entire
window size, but it does not. I hate IE.
/**
* Resizes the current window to allow for the available space as
provided by width and height.
*/
function resizeInner(pNewWidth, pNewHeight)
{
alert("width " + pNewWidth + " height " + pNewHeight) ;
if (window.innerWidth)
{
window.innerWidth = pNewWidth ;
window.innerHeight = pNewHeight;
}
// If IE, the delta is the "client" size minus the client size
else if (document.body.clientWidth)
{
var dWidth = Number(pNewWidth) +
Number(document.body.offsetWidth) - Number(document.body.clientWidth) ;
var dHeight = Number(pNewHeight) +
Number(document.body.offsetHeight) - Number(document.body.clientHeight)
;
// Resize the window, accounting for the extra space
window.resizeTo(dWidth, dHeight) ;
}
}
Any help or guidance is appreciated.
I need the following functionality that works like a charm in Firefox
1.0+:
window.innerWidth = pNewWidth ;
window.innerHeight = pNewHeight;
In other words, I need a cross-browser way to resize the inner,
renderable, client area of the browser. We can not depend on this
being a window.open() child.
The window.resize() method resizes the WHOLE window. Depending on if
the user has several toolbars, the status bar, and any other optional
window goodies that make the window an indeterminate size, I can not
guarantee that the resize() method will meet my needs.
Imagine having a fixed-size image or plugin that should encompass the
whole renderable body of the given window, and you need to resize it.
In IE, there is no way (to my knowledge) to resize just this area.
Since there is also no way to determine the FULL size of the window, I
can't get tricky and compute the offset myself.
Here is the method I have so far, that does not work for IE. I was
hoping the document.body.offsetWidth/Height would entail the entire
window size, but it does not. I hate IE.
/**
* Resizes the current window to allow for the available space as
provided by width and height.
*/
function resizeInner(pNewWidth, pNewHeight)
{
alert("width " + pNewWidth + " height " + pNewHeight) ;
if (window.innerWidth)
{
window.innerWidth = pNewWidth ;
window.innerHeight = pNewHeight;
}
// If IE, the delta is the "client" size minus the client size
else if (document.body.clientWidth)
{
var dWidth = Number(pNewWidth) +
Number(document.body.offsetWidth) - Number(document.body.clientWidth) ;
var dHeight = Number(pNewHeight) +
Number(document.body.offsetHeight) - Number(document.body.clientHeight)
;
// Resize the window, accounting for the extra space
window.resizeTo(dWidth, dHeight) ;
}
}
Any help or guidance is appreciated.