我正在使用div作为整个页面的掩码。
$(document).width();
但是IE和Firefox之间的行为有所不同。在IE中,它给出了796,而在Firefox中它给出了789。 当我将蒙版的宽度应用为$(document).width();
时在firefox中,面具适合屏幕。 但在IE中,下面会出现一个额外的滚动条。
我希望面具适合屏幕。请帮我处理这件事。
当我调整窗口大小时,window.width()和100%将无济于事。我不能使用$('body'),因为我需要以相同的方式计算高度。
提前致谢。
答案 0 :(得分:2)
这几天是试验和错误,并在全世界范围内搜索
使用pureJS,因为即使jquery也没有正确报告!但是需要jquery来识别浏览器。我使用它来测量iframe中的主体 - 以避免交叉域上的滚动条通信..你可以稍微调整一下。但核心就在那里
if ( $.browser.msie ) {
var thisH = thisFrame.scrollHeight;
var thisW = thisFrame.scrollWidth;
}
else if ( $.browser.opera )
{
var thisW = thisFrame.scrollWidth;
if (iframe.clientWidth > thisW ) {
thisW = 660; //These are custom- you can ignore it
}
var thisH = thisFrame.scrollHeight;
if (iframe.clientHeight > thisH ) {
thisH = 550; //These are custom- you can ignore it
}
}
//All other clients
else
{
var thisW = thisFrame.scrollWidth;
if (iframe.clientWidth > thisW ) {
thisW = 660; //These are custom- you can ignore it
}
var thisH = $(thisFrame).height();
if (iframe.clientHeight > thisH ) {
thisH = 550; //These are custom- you can ignore it
}
}
答案 1 :(得分:0)
http://www.javascripter.net/faq/browserw.htm
以下代码将变量winW和winH设置为实际值 浏览器窗口的宽度和高度,并输出宽度和 高度值。如果用户有一个非常旧的浏览器,那么winW和winH 分别设置为630和460。
var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
winH = window.innerHeight;
}