T
Tim Rogers
Hi folks,
this is a resolution-detect script that I used on a site. As you can see it
is designed to detect when the screen resolution falls below a certain level
then load an alternative style sheet HOWEVER, is it possible to make a
change to the code that will not only make it respond to windows with widths
of less than 800 pixels but ALSO heights of less than 600 pixels.
I'm a complete novice when it comes to .js so and help would be greatly
appreciated.
Many thanks!
Tim
checkBrowserWidth();
attachEventListener(window, "resize", checkBrowserWidth, false);
function checkBrowserWidth()
{
var theWidth = getBrowserWidth();
if (theWidth == 0)
{
var resolutionCookie =
document.cookie.match(/(^|res_layout[^;]*(;|$)/);
if (resolutionCookie != null)
{
setStylesheet(unescape(resolutionCookie[0].split("=")[1]));
}
addLoadListener(checkBrowserWidth);
return false;
}
if (theWidth > 800)
{
setStylesheet("hires");
document.cookie = "res_layout=" + escape("hires");
}
else
{
setStylesheet("");
document.cookie = "res_layout=";
}
return true;
};
function getBrowserWidth()
{
if (window.innerWidth)
{
return window.innerWidth;
}
else if (document.documentElement &&
document.documentElement.clientWidth != 0)
{
return document.documentElement.clientWidth;
}
else if (document.body)
{
return document.body.clientWidth;
}
return 0;
};
function setStylesheet(styleTitle)
{
var currTag;
if (document.getElementsByTagName)
{
for (var i = 0; (currTag =
document.getElementsByTagName("link")); i++)
{
if (currTag.getAttribute("rel").indexOf("style") != -1 &&
currTag.getAttribute("title"))
{
currTag.disabled = true;
if(currTag.getAttribute("title") == styleTitle)
{
currTag.disabled = false;
}
}
}
}
return true;
};
this is a resolution-detect script that I used on a site. As you can see it
is designed to detect when the screen resolution falls below a certain level
then load an alternative style sheet HOWEVER, is it possible to make a
change to the code that will not only make it respond to windows with widths
of less than 800 pixels but ALSO heights of less than 600 pixels.
I'm a complete novice when it comes to .js so and help would be greatly
appreciated.
Many thanks!
Tim
checkBrowserWidth();
attachEventListener(window, "resize", checkBrowserWidth, false);
function checkBrowserWidth()
{
var theWidth = getBrowserWidth();
if (theWidth == 0)
{
var resolutionCookie =
document.cookie.match(/(^|res_layout[^;]*(;|$)/);
if (resolutionCookie != null)
{
setStylesheet(unescape(resolutionCookie[0].split("=")[1]));
}
addLoadListener(checkBrowserWidth);
return false;
}
if (theWidth > 800)
{
setStylesheet("hires");
document.cookie = "res_layout=" + escape("hires");
}
else
{
setStylesheet("");
document.cookie = "res_layout=";
}
return true;
};
function getBrowserWidth()
{
if (window.innerWidth)
{
return window.innerWidth;
}
else if (document.documentElement &&
document.documentElement.clientWidth != 0)
{
return document.documentElement.clientWidth;
}
else if (document.body)
{
return document.body.clientWidth;
}
return 0;
};
function setStylesheet(styleTitle)
{
var currTag;
if (document.getElementsByTagName)
{
for (var i = 0; (currTag =
document.getElementsByTagName("link")); i++)
{
if (currTag.getAttribute("rel").indexOf("style") != -1 &&
currTag.getAttribute("title"))
{
currTag.disabled = true;
if(currTag.getAttribute("title") == styleTitle)
{
currTag.disabled = false;
}
}
}
}
return true;
};